c# - 异常抛出

标签 c# exception

在 C# 中,以下代码是否会将包含附加信息的 e 抛出调用堆栈?

...
catch(Exception e)
{
  e.Data.Add("Additional information","blah blah");
  throw;
}

最佳答案

是的,会的。许多开发人员没有意识到以下代码将从调用堆栈中的那个点抛出新的异常,而不是在 catch 之前在堆栈中进行的调用。

...
catch(Exception e)
{
  e.Data.Add("Additional information","blah blah");
  throw e;
}

我通过艰难的方式学到了这一点!

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

相关文章:

c# - List<T>.ForEach 带索引

c# - 在命令行中从我的 EDMX 而不是从 VisualStudio 生成 C# 实体文件

C#继承接口(interface)列表

java - 使用 JMAP 进行堆转储时出现异常

C# - 未处理的异常 "System.NullReferenceException"

c++ - 如何捕获一般异常并显示其派生的 what()

java - 为什么在从文件重定向输入时出现异常,但 Java 程序的手动输入却没有?

python - 我应该如何使用 try...except 来定义一个函数?

c# - .NET 4.0 自动化/脚本化某些操作

c# - 使用 SubmitChanges() 时数据库中的字段未更新