【问题标题】:Catch Exceptions handled by External Assembly捕获外部程序集处理的异常
【发布时间】:2017-07-04 16:22:24
【问题描述】:

是否可以捕获由外部(旧版)程序集处理的异常?

我认为我无法捕获这些异常,因为它们已经被处理了,但类似于 Visual Studio“中断所有异常”,我想也许我至少可以得到一些关于异常的通知。

例如:MyProduct.exe 调用 Utils.dll 并且 Utils.dll 正在吞噬所有异常,并且如果发生错误不会返回任何信息。

PS:修改该外部程序集显然是一种替代方法,但它非常困难,因为它实际上分布在数百个自定义副本中

【问题讨论】:

    标签: c# .net reflection exception-handling


    【解决方案1】:

    您可以订阅AppDomain.FirstChanceException event 以获取异常通知:

    此事件只是一个通知。处理此事件不会以任何方式处理异常或影响后续异常处理。在引发事件并调用事件处理程序后,公共语言运行时 (CLR) 开始搜索异常处理程序。 FirstChanceException 为应用程序域提供了第一次检查任何托管异常的机会。

    【讨论】:

    • 谢谢,@stuartd。这正是我一直在寻找的。如果有人想要一个简短的摘要this answer 也很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2013-01-07
    • 2018-06-14
    相关资源
    最近更新 更多