OCJ-Pでは、例外処理はとっても重要。~Exception 1~ | Javaプログラマー資格試験(OCJ-P) WEB講座

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

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

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

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

 OCJ-Pの問題を見ると、選択肢が特徴的ですね。
必ず 「コンパイルエラーが発生する」と、
「実行時に例外がスローされる」
が入っています。

それほど大事な例外処理ですが、
私はコンパイルエラーと例外(Exception)の違いが、
なかなか分かりませんでした。

当然、OCJ-Pの問題ではその区別は大事で、
曖昧なまま受験すると痛い目を見ます。

ここ数日の研究でやっと分かってきたので、
コンパイルエラーと実行時例外の区別法を伝授します。


 まずは例外の区別を学びましょう。
例外には2種類あります。

1つは、検査例外(チェック例外)。
もう1つは非検査例外(非チェック例外、実行時例外)です。


検査例外とは、実行前から例外の発生が予想される例外。
つまりコンパイル時に例外処理を求められて、
例外処理をしていなければ、コンパイルエラーになる例外です。

非検査例外とは、実際に実行してみないと発生が分からない例外です。
つまりコンパイル時には例外処理をしていなくても、
コンパイルエラーにはなりません。

実行結果として、発生した時点でスローされて、
○○Exceptionがスローされました と知らされるのです。(英語で)

実際にOCJ-Pでも、実務でも遭遇する可能性が高いのは、
2番目の非検査例外です。

非検査例外には、NullPointerExceptionやIndexOutOfBoudsExceptionなど、
OCJ-Pでの出題率が高い例外クラスが含まれます。