c++异常处理机制
异常,通常是指程序可能检测到的,运行时不正常的情况,例如被0除,数组越界访问,内存耗尽等等。异常处理的语法通常是
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
关键字try以及它后的大括号中的内容我们称其为try块。简单的说,它包含的是可能会出错的地方(就是我们要检测的地方)。当我们检测到一个错误信息的时候,关键字throw就把这个错误抛出来,抛出来怎么办呢?抛哪去呢?我们的catch关键字就给我们解决掉了这个问题。catch通常用来接收throw抛出来的异常。请注意了,throw抛出来的类型要与catch接受的类型要匹配。
throw表达式的行为有点像函数调用,而catch子句有点像函数定义。这两种机制的一个主要区别是:建立函数调用所需要的全部信息在编译时刻已经获得,而对异常处理机制则不然。c++异常处理要求运行时刻的支持。
http://www.cnblogs.com/8586/archive/2009/05/28/1491288.html
catch(...)可以捕获所有类型的异常。