C++的异常处理机制
相关原文连接
C++ 引入了异常处理机制。其基本思想是:函数 A 在执行过程中发现异常时可以不加处理,而只是“拋出一个异常”给 A 的调用者,假定为函数 B。
拋出异常而不加处理会导致函数 A 立即中止,在这种情况下,函数 B 可以选择捕获 A 拋出的异常进行处理,也可以选择置之不理。如果置之不理,这个异常就会被拋给 B 的调用者,以此类推。
如果一层层的函数都不处理异常,异常最终会被拋给最外层的 main 函数。main 函数应该处理异常。如果main函数也不处理异常,那么程序就会立即异常地中止。
语法结构
//throw的语法
throw 表达式;//异常是一个表达式,可以是基本类型,也可以是类
//try-catch的用法
try{
语句组
}
catch(异常类型){
异常处理代码
}
……
catch(异常类型){
异常处理类型
}
能够捕获任何异常的 catch 语句
catch(...) {//括号中用"..."来代表异常类型
...
}