我有一个看起来像这样的代码(对不起Java括号样式):
class SomeClass {
public static void doSomethingRisky() {
try {
SomeRiskyFunction();
} catch (Exception e) {
throw e;
}
}
}
class MainClass {
public void callSomethingRisky() {
try {
SomeClass.doSomethingRisky();
} catch (Exception e) {
FinallyHandleTheException(e);
}
}
}
基本上,SomeClass
将是一个库,我想设计它,以便所有异常都由调用程序处理(谁可能会或可能不会选择显示有关异常的消息)。
我的问题是关于fromtry/catch&throw
中的使用。它是多余的还是有必要的?我的意思是,如果我将它关闭并且函数在运行时确实遇到异常,它是否会使程序崩溃,因为在该函数中没有捕获异常,或者它仍然将它传递给调用者(),在那里它被优雅地处理?doSomethingRisky()
SomeClass
callSomethingRisky()
Java的同样问题。谢谢!