我正在创建一个Java应用程序,它必须同时写入数据库并与另一个应用程序通信。这两项任务都应该以全有或全无的方式发生。
try{
//.. execute JDBC query
//.. talk to other application
//.. commit JDBC query
} catch (Exception e){
//.. rollback JDBC query
} finally {
//.. close JDBC objects
}
在这种情况下,捕获Exception而不是Exception的子类并回滚是否可以接受?
答案 0 :(得分:2)
除非你想对不同的异常(似乎不是这种情况)采取不同的行动,否则你所做的是正确的,因为你想做同样的动作而不管异常。
但请注意,请确保记录例外情况。由于您正在处理某个应用程序,因此向其发送某种错误通知也可以帮助谁使用该应用程序。