c# - 捕获所有(已处理或未处理的)异常

标签 c# exception

我想捕获所有引发的异常(已处理或未处理的)以记录它们。对于未处理,我使用 ThreadExceptionEventHandler 和 UnhandledExceptionEventHandler 但我想捕获和 try catch block 中有或没有的异常(异常 e)。是否可以继承异常类来创建一般事件?

最佳答案

从 Windows XP 开始,您可以获得有关每个引发的异常的通知,甚至在知道它是否被处理之前。 这可以通过所谓的“向量化”异常处理实现,这实际上是对标准结构化异常处理的一点补充。

调用 AddVectoredExceptionHandler 添加您自己的处理程序。在引发异常后,您将立即被调用,通过显式 throw/__CxxThrowException/RaiseException 或由处理器隐式调用(访问冲突或等等)

您可以在处理程序中记录异常(例如生成堆栈转储),并返回 EXCEPTION_CONTINUE_SEARCH

关于c# - 捕获所有(已处理或未处理的)异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2780324/

相关文章:

java - 捕获特定的异常并在所有异常下执行相同的操作?

c# - 从 C# 调用带有 char* 参数的 DLL 函数?

c# - 将 XML 读入字典

异常类中的 php 父构造函数

python - 从模块导入 __init__.py 时测试用户定义的异常问题

java.lang.reflect.代理 : Huge exception stack trace

c# - 在同步调用的异步代码中捕获异常

c# - 项目引用和方法签名问题

c# - Cron 表达式 - 是否有任何库可以生成然后/将它们转换为人类可读的形式?

c# - 无法使用自定义 ControlTemplate 在 RadioButton 上绑定(bind) IsChecked