Java で発生する一般的な例外の処理方法
Javaでは、一般的な例外は2種類に分類できます: チェック例外と非チェック例外。
- 例外処理の場合は、try-catch ブロックを使用して例外を捕捉し、catch ブロックで例外を処理します。
- ネイティブな日本語で文章を言い換えます。1 つのオプションのみが必要です: try {
// チェック例外をスローする可能性があるコード
} catch (Exception e) {
// 例外を処理するコード
} - b. throwsキーワードでメソッド宣言中に例外を宣言し、発生した例外を呼び出し元に伝えて処理させる。
- public void myMethod() throws Exception {
// チェック例外が発生する可能性のあるコード
} - 異常が発生しない場合に備えて、コード内でtry-catchブロックを使用して異常を捕捉し、catchブロック内で異常を処理します。
- try {
// 可能非検査例外をスローするコード
} catch (Exception e) {
// 例外処理コード
} - 異常処理にはコードの中でtry-finallyブロックを使用し、finallyブロック内ではクリーンアップ作業を実施する。
- try {
// 例外が発生する可能性のあるコード
} finally {
// クリーンアップするコード
}
その他の一般的異常処理テクニックとしては次のものがあります。
- 例外情報を出力する
- catch (Exception e) {
e.printStackTrace(); // 例外のスタックトレース情報を表示する
System.out.println(e.getMessage()); // 例外の情報を表示する
} - 例外情報をログに記録する:
- import org.slf4j.Logger;
import org.slf4j.LoggerFactory;private static final Logger logger = LoggerFactory.getLogger(YourClass.class);…
catch (Exception e) {
logger.error(“エラーが発生しました”, e);
} - 状況に応じて、復元と再試行を選択できます。
- catch (Exception e) {
// 回復や再試行ロジックを記載できる
} - リソースの解放またはクロージングを行うことができる。
- catch (Exception e) {
// クローズファイル、データベース接続などリソース
}
つまり、例外処理の際には、状況に応じて適切な処理方法を選び、必要に応じて異常情報の出出力、記録、復元、再試行、リソース開放などの操作を行います。