ExceptionとRuntimeException ~Exception2~ | Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格試験(OCJ-P) WEB講座

Javaプログラマー資格(OCJ-P)を学習するブログです。

OCJ-P・Javaプログラマー資格をとりたい。
Javaプログラミングの入門者・初心者。

そんなあなたに、Javaプログラマー資格の取得に役立つ本質的な知識を、
分かりやすく解説していきます。

 ExceptionとRuntimeExceptionの違いを説明します。
Exceptionクラスの下に、RuntimeExceptionクラスがあります。

つまり、、
Exceptionクラス
 ∟RuntimeExceptionクラス

です。

そして、RuntimeExceptionクラスの例外のことを、
非検査例外(非チェック例外)と言いいます。

 個人的には非チェック例外という言い方が好きなのですが、
何が非チェック = チェックされないのでしょうか?

それは、コンパイル時にその例外が発生するかどうかは、
チェックされませんよ。ということです。

別の言い方をすれば、コンパイル時に、
その例外を処理するコードが書かれているかどうかは、
チェックされませんよ。ということ。

 例えば、RuntimeExceptionクラスを投げるメソッドを定義します。
(例: void test() throws RuntimeException{})
そのメソッドを呼び出すとき、例外処理をしなくても、
コンパイルエラーになりません。
(例:x.test() だけでもOK!)

通常のExceptionクラスを投げるメソッドを呼び出すとき、
(例: void test() throws Exception{})
try~catchなどで例外処理をしないとコンパイルエラーになります。
(例: try{ x.test() } catch (Exception e) {} など)

これが検査例外と非検査例外の大きな違いの1つです。