C++ 21 —— 异常

源码

// 21Exceptions.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "iostream.h"

//exception: 程序运行过程中,由于资源、环境等变化导致的不可预知因素
//注意. bug不是exception,exception是程序员不可控制的,常见的异常包括:数据库异常(要访问的表根本不存在)、内存异常、文件异常等

//exception产生的形式如下(通常我们自己的应用逻辑中,不会抛出异常)
void fun(int i) throw(int)
{
    if(i == 1)
        throw 1;
}

int main(int argc, char* argv[])
{
    //如果对于异常不进行处理,程序将终止运行(异常会上溯至OS)
    //fun(1);
    //通过try catch结构,可以捕获异常并正确处理
    try
    {
        fun(1);
    }
    catch(int i)
    {
        cout << "sorry, some errors,pls contact Mr. Yidong(10086)" << endl;
    }
    //catch只能捕获对应类型的异常,例如抛出的异常是int,catch中以为是Class A,那么是捕获不到的
    //C++支持 写成:catch(...)的形式,这样可以捕获任何异常。 可以自行验证。
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值