Rob*_*uch 1 c# exception-handling exception try-catch
自从我上一次编程练习以来已经有一段时间了,所以这是一个相当基本的问题.但是我找不到任何具体的答案.
假设我已经定义了一个可能导致异常的方法.该方法看起来像这样(在相当伪代码中):
public int Calculate(int x, int y)
{
try
{
doSomeCalc();
}
catch (SomeException ex)
{
doExceptionHandling();
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
现在,如果应用程序的另一部分想要使用此方法,它应该使用另一个try-catch块吗?
public MyMainApp() {
try
{
Calculate(1, 2);
}
catch (SomeException ex)
{
doExceptionHandling();
}
}
Run Code Online (Sandbox Code Playgroud)
所以这里的问题是我应该在哪里使用try-catch,它在哪里是多余的?
通常,如果在catch中可以执行某些操作,则应该只使用try-catch.您可以重试失败的连接或以其他方式帮助用户继续吗?你想记录异常吗?
如果你无法做任何事情来恢复或优雅地降级,那么抓住异常是没有意义的.只需让它冒泡到应用程序顶部的一个catch(例如,在Web应用程序基页的Page_Error事件中)并在那里处理UI.