チェック例外である合理的な理由を考えられる人SQLException
はいますか?
はい、クエリに構文エラーがある可能性があります
はい、接続が切断された可能性があります はい
、権限の問題がある可能性があります
その他、何とか何とか何とか
しかし、ほぼ 100% の場合 (本番環境で実行している場合)、問題はありません。
問題が発生した場合、呼び出し元のコードは回復するために何もできないため、チェックを外す必要があります。
try catch
JDBC を使用するプロジェクトに関与したことのある人なら誰でも証明するように、チェックされると、コード全体に機能的なブロックが大量に作成されます。コードの混乱は重大です。
SQL の難解な性質のため、SQLException を受け取る可能性がある無数の理由とその複雑さは、例外が一時的なネットワークの問題によって引き起こされない限り、基本的に回復できないことを意味しますが、それでも同期呼び出しではとにかく沈んでしまいますネットワークの問題が解決するのを無期限に待つことはできないため、トランザクションを失敗させる必要があります。
通常、SQL の呼び出しは次のようになります。
try {
// make some SQL call(s)
} catch {SQLException e) {
// log the exception
return; // and give up
}
そのようなコードには何の価値もありません。回復するためにできる合理的なことは何もありません。実行時例外をバブルアップさせることもできます。つまり、SQLException は実行時(未チェック) 例外にする必要があります。