0Pricing
Java Academy · レッスン

例外のスローとカスタム例外

例外を明示的にスローし、カスタム例外クラスを定義する方法を学びます。

「例外のスローとカスタム例外」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。

導入

自分でエラーを通知しなければならない場合もあります。Javaでは、例外を明示的にthrowしたり、独自の型を作成したりできます。

throwキーワード

throw文は例外を生成して送出します。問題が発生したことを示すために、メソッド内で使用してください。

コード: 組み込み例外のthrow

ここでは、ageが小さすぎる場合にthrowでIllegalArgumentExceptionを送出しています。

public class Main {
  static void checkAge(int age) {
    if (age < 18) {
      throw new IllegalArgumentException("Must be 18 or older");
    }
    System.out.println("Access granted");
  }
  public static void main(String[] args) {
    try {
      checkAge(15);
    } catch (IllegalArgumentException e) {
      System.out.println("Caught: " + e.getMessage());
    }
  }
}

カスタム例外

独自のカスタム例外を作成できます。チェック例外の場合はExceptionを、非チェック例外の場合はRuntimeExceptionを継承してください。

コード: カスタム例外

これはカスタムチェック例外の例です。メソッドでは、throwsで宣言する必要があります。

public class Main {
  // Custom checked exception
  static class InvalidAgeException extends Exception {
    InvalidAgeException(String msg) { super(msg); }
  }
  static void validate(int age) throws InvalidAgeException {
    if (age < 18) throw new InvalidAgeException("Too young!");
  }
  public static void main(String[] args) {
    try {
      validate(15);
    } catch (InvalidAgeException e) {
      System.out.println("Caught custom: " + e.getMessage());
    }
  }
}

コード: カスタムRuntimeException

カスタムのRuntimeExceptionはRuntimeExceptionを継承します。宣言する必要はありません。

public class Main {
  // Custom unchecked exception
  static class FatalError extends RuntimeException {
    FatalError(String msg) { super(msg); }
  }
  public static void main(String[] args) {
    try {
      throw new FatalError("Something bad happened");
    } catch (FatalError e) {
      System.out.println("Caught runtime: " + e.getMessage());
    }
  }
}

カスタム例外の確認

クイックチェック:カスタムチェック例外はどのように定義しますか。

まとめ

まとめ:エラーの通知にはthrowを使用します。カスタム例外がチェック例外の場合はExceptionを、非チェック例外の場合はRuntimeExceptionを継承します。

よくある質問

「例外のスローとカスタム例外」レッスンは無料ですか?

はい。「例外のスローとカスタム例外」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。

「例外のスローとカスタム例外」で何を学びますか?

例外を明示的にスローし、カスタム例外クラスを定義する方法を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。

「例外のスローとカスタム例外」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 例外のスローとカスタム例外
  2. try-with-resources(AutoCloseable)
  3. 防御的プログラミング
← Java Academyに戻る