Java | 早期リターン(ガード節)のメリットと注意点

Java Java
スポンサーリンク

早期リターンと例外処理(try-catch)の使い分け

ここまで「早期リターンのメリットと注意点」を見てきましたが、実務では 「早期リターンで済ませるか」「例外処理で扱うか」 の判断が重要になります。


早期リターンを使う場面

  • 予測できる異常系(想定内の条件チェック)
    → 入力が空文字、数値が範囲外、ユーザーが未ログインなど。
  • 業務ロジック上の分岐
    → 「条件を満たさないなら処理しない」という単純なケース。

例:入力チェック

public void registerUser(String name) {
    if (name == null || name.isEmpty()) {
        System.out.println("名前を入力してください");
        return; // 想定内の異常なので早期リターン
    }
    System.out.println("登録完了: " + name);
}
Java

👉 入力が空なら即終了。これは「想定内の異常」なので例外を投げる必要はない。


例外処理(try-catch)を使う場面

  • 予測できない異常系(想定外のエラー)
    → ファイルが存在しない、ネットワーク障害、DB接続エラーなど。
  • システム的な失敗や外部要因
    → プログラムの外で起きる問題は例外で扱う。

例:ファイル読み込み

public void readFile(String path) {
    try {
        BufferedReader br = new BufferedReader(new FileReader(path));
        System.out.println("ファイルを読み込みました");
        br.close();
    } catch (IOException e) {
        System.out.println("ファイル読み込みエラー: " + e.getMessage());
    }
}
Java

👉 ファイルが存在しないなどは「想定外の異常」なので例外処理で対応。


使い分けの指針

状況早期リターン例外処理
入力チェック(空文字、範囲外)
業務ロジックの分岐(条件不一致)
外部要因の失敗(ファイル、ネットワーク、DB)
予測できない異常

まとめ

  • 早期リターン: 想定内の異常や条件分岐をシンプルに処理。
  • 例外処理: 想定外の異常や外部要因の失敗を安全に処理。
  • 実務のコツ: 「予測できるかどうか」で判断する。予測できるなら早期リターン、できないなら例外処理。

✅ つまり、早期リターンは「業務ロジックの整理」に、例外処理は「システム的な失敗対応」に使うのが基本です。

Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました