try块和异常处理

try块和异常处理

c++的异常处理中包括:

1)  throw表达式,错误检测部分使用这种表达式来说明遇到了不可处理的错误。可以说,throw引发了异常条件。

2)  try块,错误处理部分使用它来处理异常。try语句块以try关键字开始,并以一个或多个catch子句结束。在try块中执行的代码所抛出的异常,通常会被其中一个catch子句处理。

3)  由标准库定义的一组异常类,用来在throw和相应的catch之间传递有关的错误信息。

throw表达式:

系统通过throw表达式抛出异常。throw表达式的类型决定了所抛出异常的类型。

try块:

try块是以关键字try开始,后面是用花括号括起来的语句序列块。try块后面是一个或多个catch子句。每个catch子句包括三部分:关键字catch,圆括号内单个类型或者单个对象的声明(称为异常说明符)以及通常用花括号括起来的语句块。

异常实例1:

int main()
{
     /*
      编写使bitset类的to_ulong操作产生overflow_error异常的程序
      使用try块来捕获异常并输出提示信息
     */
     bitset<100> bs;   //定义100位的bitset对象
     for(size_t ix=0;ix!=bs.size(); ix++)
     bs[ix]=1;   //将bitset的每一位置为1
     try
     {
          bs.to_ulong();   //执行to_ulong操作将产生overflow_error异常
     } catch(runtime_error err)   //处理异常
       {
            cout << err.what() << endl;
       }
     return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值