【发布时间】:2010-11-19 08:54:04
【问题描述】:
如果在 C++ 程序中引发异常,则控件要么转移到异常处理程序,要么调用 terminate()。
即使程序从处理程序内部(或来自terminate() 处理程序)发出一些可能为时已晚的诊断信息 - 最多的值在调用堆栈中发生异常的位置,不在处理程序中。
在 Windows 上,可以使用 [StackWalk64()]1 函数获取调用堆栈。关键是如何在适当的时候调用那个函数。
有没有办法让 Visual C++ 程序在每次抛出异常(或未设置处理程序的异常)时执行一些用户代码?
【问题讨论】:
标签: c++ visual-c++ exception exception-handling