几乎大多数C#程序员都这样写异常处理代码的

代码一:
1也说说C#的“异常重抛”try
2{}

如果你的底层代码还有一个方法用来抛出异常
代码二:
1也说说C#的“异常重抛”public ThrowException()
2}
那么,你也许需要将这个底层的异常重新抛出

如果你使用代码一的方式,将会打断异常的堆栈跟踪,在VS2005中的表现是新抛出了一个异常(代码一中的ex),而不是抛出底层异常(代码二中的new Exception("一个底层异常");)

那么怎么才能不打断异常的堆栈跟踪并能重抛底层异常呢,可以这样写。
代码三:
1也说说C#的“异常重抛”try
2}
这样就能重新抛出代码二中的底层异常。
当然你可以包装一下底层异常。代码如下:
代码四:
也说说C#的“异常重抛”try
}
这样不会打断异常堆栈跟踪。
我的理解比较浅,多多指正。

参考资料:http://www.cnblogs.com/1landonsea/archive/2005/01/15/RethrowExceptionInCSharp.html

相关文章:

  • 2021-09-10
  • 2021-05-14
  • 2021-08-23
  • 2021-10-08
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-25
  • 2021-11-07
  • 2021-12-03
  • 2022-03-04
  • 2022-02-01
  • 2022-02-02
相关资源
相似解决方案