Javaの例外処理とは?エラーでプログラムを止めないための考え方

最終更新日

Schoo Java入門 初級 第9回 例外処理

本記事は、Schooの「Java入門 初級【2026年版】」第9回「例外処理」を学ぶ前後に、Javaの例外処理の全体像を整理したい方向けの記事です。

例外処理は、エラーをなくすための書き方ではありません。問題が起きたときに、プログラムをその場で止めず、別の処理に切り替えるための仕組みです。

まずは trycatch の細かい書き方よりも、「通常の流れ」と「問題が起きたときの流れ」を分ける考え方を押さえましょう。

Schoo コースページ:Java入門 初級【2026年版】

例外処理を使うと何ができるのか

例外処理を使うと、想定外の状態が起きても、利用者に分かりやすいメッセージを出したり、後続の処理を続けたりできます。

  • 0で割る、ファイルが見つからない、入力値がおかしいなどの問題に備えられる
  • エラーの内容に合わせて、表示するメッセージや処理を変えられる
  • 問題が起きたあとも、必要な処理を続けられる
図解:例外が起きたら別ルートへ進む
通常の流れ
計算する
結果を表示する
例外が起きた流れ
0で割ろうとする
catchで受け取る
処理を続ける
例外処理は、問題が起きたときに何もせず止まるのではなく、別の処理へ流すための仕組みです。

例外が起きると、その先の処理に進めない

まず、例外処理を書かない場合を見てみます。次のコードでは、10 / 0 を計算しようとしています。

int a = 10;
int b = 0;

System.out.println(a + " ÷ " + b + " を計算します");

int result = a / b;
System.out.println("結果:" + result);

System.out.println("最後まで実行されました");

0で割る計算はできないため、int result = a / b; の行で例外が発生します。すると、その下にある System.out.println("結果:" + result);最後まで実行されました は実行されません。

このように、例外が起きると、通常の処理の流れはそこで中断されます。

try-catchで例外が起きたときの処理を書く

例外が起きても別の処理へ進めたい場合は、try-catch を使います。例外が起きるかもしれない処理を try に書き、例外が起きたときの処理を catch に書きます。

int a = 10;
int b = 0;

System.out.println(a + " ÷ " + b + " を計算します");

try {
    int result = a / b;
    System.out.println("結果:" + result);
} catch (ArithmeticException e) {
    System.out.println("0で割ることはできません");
}

System.out.println("処理を継続します");
図解:tryで試し、catchで受け取る
try
int result = a / b;
例外が起きるかもしれない処理を書く
例外が起きた場合だけ下へ進む
catch
catch (ArithmeticException e)
起きた例外を受け取り、代わりの処理を書く
try は「試す場所」、catch は「例外が起きたときの受け取り場所」と考えると、流れを追いやすくなります。

このコードでは、0で割ろうとした時点で ArithmeticException が発生します。その例外を catch で受け取り、0で割ることはできません と表示します。

その後、catch の外にある System.out.println("処理を継続します"); に進みます。例外処理を書くことで、問題が起きたあとの流れを自分で決められるようになります。

例外処理はエラーを隠すためのものではない

例外処理を書くと、プログラムを止めずに進めることができます。ただし、何でも catch して無視すればよいわけではありません。

大切なのは、問題が起きたことを分かる形で扱うことです。利用者にメッセージを出す、別の値を入力してもらう、処理を中止する、ログを残すなど、状況に合った対応を考えます。

まず覚える用語

  • try:例外が起きるかもしれない処理を書く場所
  • catch:例外が起きたときに実行する処理を書く場所
  • Exception:Javaで例外を表すクラスの総称
  • ArithmeticException:0で割るなど、計算で問題が起きたときの例外

確認問題

  1. 例外処理は、何のために使いますか。
  2. try には、どのような処理を書きますか。
  3. catch には、どのような処理を書きますか。

演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。

あわせて読みたい関連記事

まとめ

例外処理は、問題が起きたときにプログラムをその場で止めず、別の処理へ流すための仕組みです。try には例外が起きるかもしれない処理を書き、catch には例外が起きたときの対応を書きます。まずは、通常の流れと例外が起きたときの流れを分けて考えることから始めましょう。

info

シェアする