使用rethrowing检查/未检查的异常?

Jav*_*ser 1 java exception-handling exception

重新抛出已检查和未检查的异常有什么用?

SLa*_*aks 7

如果您想在问题发生时执行某些代码而不隐藏问题.

例如,假设您在写入数据库时​​发生异常时要回滚更改:

try {
    writeToDatabase();
} catch(Exception ex) {
    rollbackChanges();
}
Run Code Online (Sandbox Code Playgroud)

如果使用此代码,则调用函数将永远不会发现发生异常.

相反,你应该写

try {
    writeToDatabase();
} catch(Exception ex) {
    rollbackChanges();
    throw ex;
}
Run Code Online (Sandbox Code Playgroud)