自上次编程练习以来已经有一段时间了,所以这是一个相当基本的问题。但是我还没有找到具体的答案。
假设我已经定义了一个可能导致异常的方法。该方法看起来像这样(用伪代码表示):
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。