该博文为原创文章,未经博主同意不得转载,如同意转载请注明博文出处
本文章博客地址:https://cplusplus.blog.csdn.net/article/details/105066247
为什么要用c++的异常处理机制
在我们平时写C语言程序时,经常出现会出现一些错误,有些是我们可以预测到的,这些我们可以通过返回错误码,或者设置回调函数打印错误信息等方法处理。但还有些程错误是我们不好预测的,如断错误,这时产生错误我们没有处理就会终止程序,然而我们经常运行程序后遇到错误不希望终止,如我们进程使用一些垃圾软件会闪退,这就是因为他门的程序异常没有处理好,所以遇到预测范围外的错误时,程序就会直接终止。所以为了解决这种情况,在C++里面就提出了异常处理机制,当一个函数无法处理产生的错误时,就抛出异常,让函数的调用者直接或者间接处理从错误。
C++异常处理的抛出与捕获
当 throw 抛出异常时,就会暂停当前函数,先去当前函数里寻找同类型的catch异常捕获,如果当前函数没有,就释放当前函数的栈帧,去上一层函数里去找catch,这里是按照就近原则寻找catch,如果没有找到则退出程序。这个过程称