我经常想在异常消息中添加有用的信息。由于 Exception 类的 Message 属性没有公共(public) setter ,一个选项是将引发的异常包装在另一个选项中。
//...
catch(Exception e)
{
throw new Exception("Some useful information.", e);
}
这是不好的做法,如果是这样,还有什么替代方法?
最佳答案
最好创建一个新异常,并带有指向原始异常的指针。您可以从旧异常中打印出新信息和消息。
在 InnerException 上查看此信息
http://msdn.microsoft.com/en-us/library/system.exception.innerexception.aspx
这是标准方法,这就是为什么 Microsoft 在他们的 Exception 类中内置了对此的支持。
关于exception-handling - 包装异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2035857/