异常处理在Visual C++
异常是一个错误状态,可以在程序控件外,防止程序继续沿其正常执行路径。 某些操作,包括对象创建,文件输入/输出,因此,函数调用由其他模块进行,是所有异常的潜在的源,即使程序正确运行。 可靠代码需要和处理异常。
检测在一个过程或模块内的逻辑错误,使用断言而不是异常 (请参见 使用断言)。
Visual C++ 支持三种异常处理:
-
对于大多数 C++ 程序,应使用 C++ 异常处理,在堆栈展开过程中,是类型安全的并确保对象析构函数调用。
-
窗口提供自己的异常结构,调用她。 没有为 C++ 或 MFC 编程建议。 仅使用 SEH 在非 MFC C 程序。
-
来自版本 3.0,则 MFC 使用了 C++ 异常,但仍支持其更早的异常处理宏,类似于 C++ 异常形式。 虽然这些宏没有为新编程建议使用,他们备向后兼容仍支持。 在已使用宏的程序,可以自由地使用 C++ 异常。 在预处理期间,宏计算为在 C++ 语言的 Visual C++ 实现定义的异常处理关键字因 Visual C++ 2.0 版。 ,当您开始使用 C++ 异常时,您可以将现有的异常宏到位。
使用 /EH 编译器选项指定异常处理的类型使用项目;C++ 异常处理是默认设置。 不要组合错误处理机制;例如,不要使用她的 C++ 异常。 有关组合 MFC 宏和 C++ 异常的建议,请参见 异常:使用 MFC 宏和 C++ 异常。
有关处理在 CLR 应用程序的异常的信息,请参见 异常处理在 /clr 下。
有关异常处理在 x64 处理器的信息,请参见 异常处理 (x64)。