如果catch语句代码导致错误怎么办?

时间:2014-10-20 20:11:43

标签: c# .net exception-handling elmah

我在我的应用程序中使用Elmah进行错误报告。

通常如果我发现错误,请制作自定义消息并再次将其丢回。

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?

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

  1. 使用try catch创建一个方法A,然后调用您在描述中给出的捕获函数为B.
  2. 在你的B抓住中,只需使用throw,这样你的堆栈跟踪就不会消失。
  3. 在B catch中的异常时,它将导航到捕获A,因此您可以根据需要显示消息。