【问题标题】:3rd party library catches my exceptions3rd 方库捕获了我的异常
【发布时间】:2015-02-24 04:00:32
【问题描述】:

我有一个第 3 方 API 库,其中包含一组请求函数。通过订阅事件获得响应。

如果在我的事件处理程序中抛出异常 - 第 3 方库捕获它并且之后什么也不做。这不会让我知道我的代码是否有任何问题。

有什么方法可以在 3rd 方库之前捕获我的异常?

我想过为事件处理程序编写包装器,但这似乎不是一个好的解决方案。

订阅AppDomain.FirstChanceException 没有任何效果。

【问题讨论】:

  • 你能拿你的事件处理程序,把它包装在一个 try ... 捕获并将整个事情传递到 3rd 方库吗?

标签: c# exception-handling event-handling


【解决方案1】:

有什么方法可以在 3rd 方库之前捕获我的异常?

HandlerFunction()
{
    try
    {
        /* place handler body here */
    }
    catch(Exception e)
    {
        /* you may store/log the exception object here */
    }
}
ThirdPartyObject.Event += HandlerFunction;

在 catch 子句中,您还可以将异常对象添加到全局错误日志中,以便跟踪它。

你也可以在异常子句中放置一个断点来调试你的错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多