Revised: Jan./1st/2002: Since: Jan./1st/2002
プログラミングにはエラーがつきものです。一文字違いで10も20もエラーが報告されることがあります。エラーは、報告されるタイミングで三つに分けて考えられます:
コンパイルエラーと例外は、 Java プラットフォームがエラー箇所を報告してくれます。論理エラーは報告してくれません。論理エラーもプログラムにはつきものですが、これのデバッグは大変な労力を必要とします。場合によっては、かなり以前の局面まで手戻りが発生します。プログラム全体の設計は慎重になる必要があります。
シンタックスのエラーであるコンパイルエラーは、開発者が慎重にコーディングする他ありません。Java の場合は、プログラム全体を、クラスという形の小さなコンポーネントに分割(モジュール化)できるので、コンパイルエラー耐性が強いと言えます。
コンパイルが通って、バイトコードが出力されても、実行時の状況によっては正しく実行できない場合が発生しますが、これが例外 (Exception) です。例えば、開発者が数値の入力だけしか考えていない場合に、それを知らない利用者が文字列を入力するような場合に例外が起こります。ファイルからの入力の場合に、読み取るファイルが存在しなければ例外です。
つまり、開発時に想定されていた以外の状況によって正しく実行されない場合が例外です。
例外は、想定されない状況ですから、開発者はそのような場面が無いように、事前に手を打っておきます。その一つが例外処理です。