如果您想在问题发生时执行某些代码而不隐藏问题.
例如,假设您在写入数据库时发生异常时要回滚更改:
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)