我在我的应用程序中使用Elmah进行错误报告。如果catch语句代码导致错误怎么办?
通常,如果出现错误,我会抓住它,制作一条自定义消息并将其返回。
catch (Exception ex)
{
var e = new Exception("Failed to get Intake Statuses <br />"
+ " (@PageNumber = " + pageNumber + ", @PageSize = " + pageSize + ".<br />"
+ " Error: " + ex);
ErrorLogger.LogErrorManually(e);
throw new Exception(e.Message);
}
现在,如果在创建的自定义错误中存在错误,则会出现此问题。
处理这个问题的最佳实践是什么?我是否创建另一个子Try/Catch?
“LogErrorManually”容易抛出吗?也许它应该尝试/捕捉自己。否则,它看起来不需要担心。如果你这样做,另一个尝试/抓住听起来像是你最好的选择。 – BradleyDotNET 2014-10-20 20:13:12
调用它的方法是否有自己的try ... catch? – Mephy 2014-10-20 20:13:24
抛出新的异常将导致您丢失堆栈跟踪。而是只考虑'throw;',或抛出一个包含原始异常的新异常作为内部异常。 – 2014-10-20 20:14:23