c++ 异常处理

异常处理机制: 异常检测 + 异常处理。

1. throw表达式:异常检测部分,使用throw表达式来表示程序遇到了无法处理的问题。

2. try语句块:异常处理部分。以关键字try开始,并以一个或多个catch子句结束。

                   try语句块中通过throw抛出的异常,通常会被某个catch子句处理(异常处理代码)。

3. 异常类:exception class,用于在throw表达式和catch子句之间传递异常的具体信息。

throw表达式

遇到该语句,抛出异常,终止当前的函数,并把控制权转移给能处理该异常的代码。

if (item1.isbn() != item2.isbn()){
    // runtime_error是一个标准库异常类
    throw runtime_error("Data must refer to same ISBN");
}

try语句块

 注:迭代try语句块时,如果在当前try语句块没有找到对应的catch,那么就到调用该try语句块的函数中的try语句块中去找。如果到最后都没找到,程序转到名为terminate的标准库函数中。

try{
    throw runtime_error("runtime error happen");
}catch(runtime_error err){
    statements;
}

标准异常

1. 定义在四个头文件中:

        (1)exception头文件;(2)stdexcept头文件;(3)new头文件;(4)type_info头文件

2. what成员函数,返回一个C风格字符串。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值