Mik*_*ynn 2 .net c# exception-handling exception
以下是良好做法,如果不是应该做什么?
catch(Exception e)
{
throw new Exception(e.Message, e);
}
Run Code Online (Sandbox Code Playgroud)
cHa*_*Hao 18
不,如果您使用相同的消息抛出完全相同类型的另一个异常,这不是一个好习惯.在这样做时,您会使堆栈跟踪复杂化并使调试变得更加困难.
如果您要抛出一个新的异常,它应该以一些重要的方式与原始异常不同.例如,它应该是另一种类型,或者以某种其他方式(如更具体的错误消息)澄清异常的原因.如果你不能做其中任何一件事,那么只需使用重新抛出当前的异常throw;.
或者,更好的是,根本不要抓住它.Rethrowing实际上也会混淆堆栈跟踪(当前帧的错误位置设置为重新抛出点而不是发生异常的位置),所以如果你没有任何东西,你个人必须要处理异常,然后放手 - 让它传播并让调用者处理它.
| 归档时间: |
|
| 查看次数: |
827 次 |
| 最近记录: |