0
0

More than 3 years have passed since last update.

あたまのなかの整理メモ(Java - 例外編)

Last updated at Posted at 2020-03-08

My Java環境

  • Java11

try-catch-finally

  • try-catch-finallyの順で記載する。catch句はなくてもOK。
  • try句finally句は1つずつしか記載できない。catch句は複数書ける。
  • catch句finally句の両方にreturn文を書いた場合の例↓

public class Test {
    public static void main(String... args) {
        System.out.println(getException());
    }

    private static String getException() {
        try {
            throw new Exception();
        } catch (Exception e) {
            return "catch!";
        } finally {
            return "finally!";
        }
    }
}

実行結果は

finally!

例外クラス

  • 継承関係
Throwable
        -> Error
        -> Exception
            -> RuntimeException

Error

  • プログラムでは対処できない事象
  • サブクラスにStackOverFlowなどがある
  • エラーに分類されるにはErrorを継承していること
  • try-catchthrowsは強制されない、書くことはできる

ExceptionRuntimeException

  • プログラムが対処できる事象

Exception

  • 検査例外
    • 例外処理を記述したかをコンパイラが検査する
    • RuntimeExceptionとそのサブクラスを除く
    • try-catchしているか、throwsしているかどちらかを強制する

RuntimeException

  • 非検査例外
    • 例外処理を記述したかをコンパイラが検査しない
    • try-catchthrowsは強制されない、書くことはできる
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0