Run*_*une 5 logging exception-handling
try
{
// Code
}
catch (Exception ex)
{
Logger.Log("Message", ex);
throw;
}
Run Code Online (Sandbox Code Playgroud)
在库的情况下,我是否应该记录异常?我应该抛出它并允许应用程序记录它吗?我担心的是,如果我在库中记录异常,将会有很多重复(因为库层将记录它,应用程序层将记录它,以及介于两者之间的任何东西),但如果我不记录它库,很难找到错误.有这方面的最佳做法吗?
我不会记录我不会做任何事情的异常 - 即,如果它只是像您的示例中那样通过异常处理程序。正如您已经提到的,这会增加很多噪音,但不一定有帮助。最好在您实际执行操作的地方记录它,或者,对于库来说,在它转换为用户代码的边界处记录它。
也就是说,我总是尝试记录抛出异常的位置以及触发异常的条件。这对于查明异常的原因更加有用;另外,如果您遇到的情况严重到足以引发异常,我想说它也需要花费处理器时间来注销“原因”。
| 归档时间: |
|
| 查看次数: |
1471 次 |
| 最近记录: |