抛出异常

Ben*_*Ben 11 c# exception

在C#中,下面的代码是否会e在调用堆栈中包含其他信息?

...
catch(Exception e)
{
  e.Data.Add("Additional information","blah blah");
  throw;
}
Run Code Online (Sandbox Code Playgroud)

And*_*lam 12

是的,它会的.很多开发人员都没有意识到以下代码会在调用堆栈中从该点抛出一个新的异常,而不是之前在堆栈之前进行的调用catch.

...
catch(Exception e)
{
  e.Data.Add("Additional information","blah blah");
  throw e;
}
Run Code Online (Sandbox Code Playgroud)

我很难学到这一点!