Windows编译器对异常的处理(207)

c/c++ 配置属性 代码生成 启用c++异常

2013版本讲解要详细点:
https://msdn.microsoft.com/zh-cn/library/1deeycx5(v=vs.120).aspx

编译器会对异常捕获进行优化。

使用/EHs EHsc catch(…) 是不会捕获异步结构化异常、访问冲突和 System.Exception 异常。只会捕获c++异常
当必须要捕获这些异常时,就只能用 try, except 和 __finally 语法

使用/EHa catch(…)会捕获所有的异常。
但是引用官方的话指定 /EHa 并尝试使用 catch(...) 处理所有异常可能很危险。 在大多数情况下,异步异常是不可恢复的,因而被认为是致命的。 捕获它们并继续可能导致进程损坏并使 Bug 难以发现和修复。

// //