c# - 修改异常并抛出

标签 c# exception elmah.mvc

我想用附加信息修改 Exception 中的 Message 属性。例如,从 EF 生成的 SQL

但我不想丢失原始 Exception 中的任何内容。这将使我丢失 stacktrace:

catch (Exception ex)
{
    throw ex;
}

这些异常来自数据层。我想 throw 它们,以便可以使用 Elmah 记录它们。

我有哪些选择?

最佳答案

如果你想添加一些东西,你可以将它包装在另一个异常中:

catch( Exception ex)
{
   throw new Exception("my new message",ex);
}

并且您将能够使用完整的堆栈跟踪访问内部异常

关于c# - 修改异常并抛出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22082978/

相关文章:

c# - 不使用预先构建的 .net 对象获取所有子文件夹

c# - 有效返回 "Task<Task<MyObject>>"吗?或者最好返回 "Task.FromResult(MyObject)"

php - Laravel 5 : Handle exceptions when request wants JSON

asp.net - ELMAH 无法登录生产环境中的数据库,但无法登录测试服务器

asp.net-mvc - ELMAH是否提供任何方法来读取数据库中的错误?

elmah.mvc - Elmah mvc 在站点重新启动后删除错误日志

c# - 使用大整数时的 CPU 和/或 RAM 生产力

c# - C 到 C# PInvoke 带指针的结构

java - 什么是 Java 中的异常包装?

php - 如何检查是否已设置自定义异常处理程序?