c# - 检查内部异常的最佳方法?

标签 c# .net exception exception-handling

我知道有时 innerException 是 null

所以以下可能会失败:

 repEvent.InnerException = ex.InnerException.Message; 

是否有一种快速的三元方法来检查 innerException 是否为 null?

最佳答案

到目前为止,答案很好。类似但不同的是,有时存在不止一层的嵌套异常。如果你想得到最初抛出的根异常,不管有多深,你可以试试这个:

public static class ExceptionExtensions
{
    public static Exception GetOriginalException(this Exception ex)
    {
        if (ex.InnerException == null) return ex;

        return ex.InnerException.GetOriginalException();
    }
}

并在使用中:

repEvent.InnerException = ex.GetOriginalException();

关于c# - 检查内部异常的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1456563/

相关文章:

c# - Refit Net core AddRefitClient 读取响应头

c# - 如何从另一个类引用 3D 数组?

c# - Windows 8 中的 Windows Azure 和 Metro 风格的应用程序

.net - 在 Microsoft CRM 4.0 中使用 Web 服务与使用动态实体

c++ - 未知错误,调试器只给我一个内存地址

visual-studio - 当我在代码编辑器中选择文本时 Visual Studio 崩溃

c# - System.Environment.Exit(0) 防止 hockeyapp 注册崩溃

c# - OwnerDrawText模式下TreeView节点文本的定位和高亮

javascript - 在异步函数中捕获未捕获的异常 (Javascript)

c# - 为什么我的 Winforms 程序会保留这么多虚拟内存?