自上次编程练习以来已经有一段时间了,所以这是一个相当基本的问题。但是我还没有找到具体的答案。

假设我已经定义了一个可能导致异常的方法。该方法看起来像这样(用伪代码表示):

public int Calculate(int x, int y)
{
  try
  {
    doSomeCalc();
  }
  catch (SomeException ex)
  {
    doExceptionHandling();
  }

  return result;
}


现在,如果应用程序的另一部分想要使用此方法,是否应该使用另一个try-catch块?

public MyMainApp() {
  try
  {
    Calculate(1, 2);
  }
  catch (SomeException ex)
  {
    doExceptionHandling();
  }
}


因此,这里的问题是我应该在哪里使用try-catch,它在哪里多余?

最佳答案

通常,只有在捕获中可以执行某些操作时,才应使用try-catch。您可以重试失败的连接还是以其他方式帮助用户继续?您是否要记录例外?

如果您无法采取任何措施来恢复或正常降级,则捕获异常是没有意义的。只需让它冒出到应用程序顶部的陷阱(例如,在Web应用程序基本页面的Page_Error事件中)并在那里处理UI。

09-10 04:47
查看更多