try/catch/finally
try、catch、finallyを使って、実行時エラーを安全に処理する方法を学びます。
「try/catch/finally」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。
導入
プログラムでは、無効な入力、見つからないファイル、ゼロ除算などのエラーが発生することがあります。例外は、プログラムをクラッシュさせずに処理する Java の仕組みです。
try/catchの概要
リスクのあるコードをtryブロックで囲みます。例外が発生すると、制御は対応するcatchに移ります。これにより、エラーを適切に処理できます。
コード:単純なtry/catch
このコードはArithmeticExceptionを捕捉し、クラッシュする代わりに利用者に分かりやすいメッセージを表示します。
public class Main {
public static void main(String[] args) {
try {
int x = 10 / 0; // risky division
System.out.println("Result=" + x);
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero!");
}
}
}
複数のcatch
異なる例外型を個別に処理するために、複数のcatchブロックを重ねて記述できます。順序が重要です。具体的な型のブロックを一般的な型より先に配置してください。
コード: 複数のcatch
NullPointerExceptionは専用のブロックで捕捉されます。型ごとに異なる処理を行えます。
public class Main {
public static void main(String[] args) {
try {
String s = null;
System.out.println(s.length()); // NullPointerException
} catch (ArithmeticException e) {
System.out.println("Math error");
} catch (NullPointerException e) {
System.out.println("Null reference error");
}
}
}
コード: finallyブロック
finallyブロックは、例外が発生したかどうかにかかわらず実行されます。ファイルを閉じるなどの後処理に使用してください。
public class Main {
public static void main(String[] args) {
try {
int[] arr = {1,2};
System.out.println(arr[5]); // ArrayIndexOutOfBounds
} catch (ArrayIndexOutOfBoundsException e) {
System.out.println("Bad index!");
} finally {
System.out.println("Finally block always runs");
}
}
}
finallyの確認
クイックチェック:finallyブロックの目的は何ですか。
まとめ
まとめ:tryはリスクのあるコードを処理し、catchはエラーに対応し、finallyは後処理のために必ず実行されます。
よくある質問
「try/catch/finally」レッスンは無料ですか?
はい。「try/catch/finally」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「try/catch/finally」で何を学びますか?
try、catch、finallyを使って、実行時エラーを安全に処理する方法を学びます。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「try/catch/finally」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- try/catch/finally
- チェック例外と非チェック例外
- スタックトレースの読み方