我想捕获所有引发的异常(已处理或未处理的)以记录它们。对于未处理,我使用 ThreadExceptionEventHandler 和 UnhandledExceptionEventHandler 但我想捕获和 try catch block 中有或没有的异常(异常 e)。是否可以继承异常类来创建一般事件?
最佳答案
从 Windows XP 开始,您可以获得有关每个引发的异常的通知,甚至在知道它是否被处理之前。 这可以通过所谓的“向量化”异常处理实现,这实际上是对标准结构化异常处理的一点补充。
调用 AddVectoredExceptionHandler
添加您自己的处理程序。在引发异常后,您将立即被调用,通过显式 throw
/__CxxThrowException
/RaiseException
或由处理器隐式调用(访问冲突或等等)
您可以在处理程序中记录异常(例如生成堆栈转储),并返回 EXCEPTION_CONTINUE_SEARCH
。
关于c# - 捕获所有(已处理或未处理的)异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2780324/