【发布时间】:2010-10-12 12:05:04
【问题描述】:
我有一个方法doSomething(),它有一个try catch 块,我在其中调用另一个方法。
public void doSomething()
{
try
{
doSomethingElse();
}
catch
{
// catch implementation goes here
}
}
在其他方法doSomethingElse() 我没有任何 try catch 块。我依靠 main 方法的 try-catch 来处理异常。如果doSomethingElse() 中有任何异常,它们将被冒泡到方法 doSomething 的 try-catch 块中。
这种方法有什么问题吗?
感谢您的宝贵时间。
【问题讨论】:
-
不,没有错。
-
一个建议:如果您的 doSomething() 方法仅用于在 try/catch 中执行 doSomethingElse() 方法,我会将 doSomethingElse() 方法设为私有,以便 API 调用者可以只调用捕获异常的方法。
-
一个大错误是完全吞下抛出的异常。确保您相应地处理它们,可能首先捕获业务(如果有的话由
doSomethingElse抛出),并在需要时最终处理其他的。
标签: c# exception exception-handling