崩溃处理程序:提升应用稳定性与调试效率
1. 崩溃处理程序概述
用户十分讨厌应用程序崩溃时弹出的错误对话框。崩溃处理程序能将美好的设想变为现实,它包含异常处理程序和未处理异常过滤器。异常处理程序在 C++ 编程中较为常见,而未处理异常过滤器则能让开发者在应用程序弹出错误对话框之前获得控制权,且它对 C 和 C++ 代码都适用。
2. 结构化异常处理(SEH)与 C++ 异常处理
C++ 可使用结构化异常处理(SEH)和 C++ 异常处理这两种主要的异常处理方式,它们有明显区别:
-SEH:由操作系统提供,直接处理访问冲突等崩溃情况。通常使用__try/__except和__try/__finally关键字对实现。例如:
void Foo ( void ) { __try { __try { // Execute code to accomplish something. } __except ( EXCEPTION_EXECUTE_HANDLER ) { // This block will be executed if the code in the __try // block causes an access violation or some other hard crash. // T