例外のスローとカスタム例外
例外を明示的にスローし、カスタム例外クラスを定義する方法を学びます。
「例外のスローとカスタム例外」は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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 例外のスローとカスタム例外
- try-with-resources(AutoCloseable)
- 防御的プログラミング