您的位置:首页 > 编程语言 > C语言/C++

C++ 异常处理

2014-05-19 17:38 176 查看
1 抛出异常

异常(exception)是程序可以检测到的,C++程序中出现异常时,检测到异常的程序段可以通过产生(raise)或抛出(throw)异常来通知。

2.try块可以包含任何C++语句-表达式以及声明,一个try快引入一个局部域,在try块内声明的变量不能在try块外被引用,包括在catch子句中。

3.捕获异常

C++异常处理代码是catch字句,一个catch子句由三部分构成:关键字catch,在括号中的单个类型或单个对象声明以及符合语句中的一组语句。

catch子句的异常声明可以是一个类型声明或一个对象声明。

在查找用来处理被抛出异常的catch子句时,因为异常而退出复合语句和函数定义,这个过程被称为栈展开。

catch子句可能决定该异常必须由函数调用链中更上级的函数来处理,那么catch字句可以通过重新抛出该异常,throw;

异常规范(exceptin specification) 提供了一种方案,它能够随着函数声明列出该函数可能抛出的异常。

     异常规范跟随在函数参数表之后,它用关键字throw来指定,后面是用括号括起来的异常类型表。

如果函数抛出了一个没有被列在其异常规范中的异常,系统未必就会调用unexpected().如果该函数自己处理该异常,并且异常在逃离该函数之前被处理,那么一切都不会有问题。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: