默认情况下,使用try/catch只能捕获到程序中通过throw抛出的异常,也就是说只能捕获到C++异常。但是除此之外还有Win32异常、CRT异常、CLR异常以及MDA异常等等。为了能够在VC中通过catch(...)捕获所有异常,需要修改工程配置,在配置属性->C/C++->代码生成->启动C++异常,选择是,但有SEH异常即可捕获到所有异常。
这样一来是可以补货所有异常了,但是出现异常时就会直接定位到catch中,不利于错误的排查。可以在调试->异常里面将C++ Exceptions、Native Run-Time Checks以及Win32 Exceptions的引发勾选项选上。引发表示异常的第一处理,然后到catch处理,最后是用户未处理的。
VC的异常处理
最新推荐文章于 2024-05-11 13:08:36 发布
本文介绍了如何在Visual Studio中通过配置属性使catch(...)能够捕获所有异常,并提供了调试异常处理的方法,帮助开发者更有效地排查错误。
252

被折叠的 条评论
为什么被折叠?



