zenet_logo

-株式会社ゼネット技術ブログ-

Java初心者のためのtry-catch-finally文解説 エラー処理の基礎

 

1.はじめに

こんにちは。株式会社ゼネットの明樂です。

今回は私がJava研修で苦戦したtry-catch-finally文と、意図的にエラーを発生させるthrow文について、お話しします。

Java初学者の方の力になれると嬉しいです。

 

 

2.try-catch-finally文

try-catch-finally文はエラーが発生しそうな処理をするときに使います。

ファイルが見つからないときや、計算中にゼロで割るエラーが発生するときなど、プログラムを書いていると予期せぬエラーが発生することもあります。

その際にtry-catch-finally文を使うことで、予期せぬエラーが発生した時に正しく処理をすることができます。

次のようにして使います。

try{
    //ここにエラーが発生しそうなコードを書きます
} catch(Exception e) {
    //エラーが発生した時の処理を書きます
} finally {
    //エラーが発生してもしなくても実行したい処理を書きます
}

tryブロック内にはエラーが発生しそうなコードを書きます。

tryブロックでエラーが発生した時に、catchブロックの中に書かれた処理が実行されます。

catchブロックではエラーの種類に応じた処理が実行されます。エラーの種類は( )内のExceptionで指定します。

finallyブロックはtryブロックとcatchブロックが実行された後に必ず実行されます。そのため、このブロック内には必ず行いたい処理を書きます。

使用例

public class Main {

    public static void main(String[] args) {
        try {
            int result = 10/0;
        } catch (ArithmeticException e) {
            System.out.println("0では割れません。");
        } finally {
            System.out.println("処理が終了しました。");
        }

    }

}

この場合は0で割ろうとしているためエラーが発生するのですが、catchブロックが実行され、エラーメッセージが出力されます。そして最後にfinallyブロックが実行されます。

 

 

3.意図的にエラーを発生 throw文

意図的にエラーを発生させたいとき、throwを使います。

次のようにして使います。

throw new Exception();

Exceptionには発生させたい例外の型を指定します。

使用例

public class Main {
    public static void main(String[] args) {
        try {
            int price = -1000;
            if(price <= 0) {
                throw new IllegalArgumentException();
            }
        } catch (IllegalArgumentException e) {
            System.out.println("価格は正の値でなければいけません。");
        }
    }
}

この場合はpriceが負の値であるときにIllegalArgumentExceptionを投げています。

 

 

4.おわりに

try-catch-finally文とthrow文についてお話しました。エラーが発生したときの対処方法は重要なので、理解の一助となれば嬉しいです。