例外 - exceptions(Java 第7回)

はじめに

第7回は例外である。 私の高校の先生は、修学旅行の前に「想定外は想定内」と言っていました。例外処理とはまさにそのことです。

例外とは

例外とは、プログラムの実行中に異常な事態やエラーが発生することである。
例外処理とは、例外が発生した際に実行される処理のことである。

例外の解説

例外処理を実装する際は、以下の例のようにmainメソッド内をtryブロックと、catchブロックで分ける。tryブロックでは通常の動作を記述する。catchブロックの(ArithmeticException) がtryブロックが発生した際は、tryブロックのそれ以降の処理は実行されず、直ちにcatchブロックの処理が実行される(例外処理)。
以下の具体例は、ゼロ除算の例外処理のコードである。
具体例

public class ExceptionExample {
    public static void main(String[] args) {
        try {
            int result = divide(10, 0);
            System.out.println("Result: " + result);
        } catch (ArithmeticException e) {
            System.out.println("Cannot divide by zero");
        }
    }

    public static int divide(int a, int b) {
        return a / b;
    }
}

疑問点

「ArithmeticException以外の例外は?」

IOException 入出力に関する一般的な例外
FileNotFoundException

ArrayIndexOutOfBoundsException
NullPointerException
ClassNotFoundException など

「ArithmeticException e の "e" とは」

その例外が発生した際に、ArithmeticExceptionのインスタンスの変数eが宣言されるということ。

まとめ

例外処理を実装すること自体容易ですが、いざ自分でコードを書いてどこに例外処理の実装をするかを考えることは容易ではありません。
第8回はマルチスレッドです。

注意

このページは大学のJavaの授業の予習で書いています。
直観的な理解をメモしているだけなので、厳密なところでは誤りがあるかもしれません。