该文章内容整理自《C++ Primer Plus(第6版)》、《Effective C++(第三版)》、以及网上各大博客
文章目录
对于一个C++程序,从被加载至内存到最终走向死亡,大致有三种方式:
- 自然死亡,通常指main()中return 0;后正常结束程序
- 自杀,指请求系统将自身程序关闭,是一种请求式的自杀。有两种方式:void exit(int status)和void abort(void)
- 他杀,通常指父程序将子程序关闭。C++并没有提供他杀的方式,而往往是由系统直接或者间接(通过一些进程库,如pthread)提供
abort
abort()函数被包含在头文件<stdlib.h>中,其典型实现是向标准错误流(cerr使用的错误流)发送 abnormal program termination(程序异常终止),然后终止程序。调用Abort()时,不进行任何清理工作,直接终止程序
异常机制
对异常的处理由3部分组成:
- 引发异常
- 使用处理程序捕获异常
- 使用try块
C++异常处理的一般形式为
try {
//标识可能出现的异常代码段
throw 1;
throw "error";
}
catch(int i) {
//异常处理程序1
}
catch(char *str) {