Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

例外処理

以下は、例外オブジェクトの階層構造です。

Object
Throwable
  ┣Error
  ┃┗エラー例外
  ┗Exception
    ┣RuntimeException
    ┃┗実行時例外(非検査例外)
    ┗検査例外

例外は、大きく(1)エラー例外、(2)実行時例外、(3)検査例外に分類できます。エラー例外は、仮想マシンレベルの障害(VirtualMachineError)など、アプリケーションで処理できない例外を表します。

実行時例外は、オブジェクトがNullである(NullPointerException)、配列のインデックス番号が範囲外(IndexOutOfBoundsException)など、いわゆるアプリケーションのバグであり、この例外が発生するような場合はコードそのものを修正すべきです。

そして、検査例外が狭義の例外です。あるはずのファイルが存在しない(FileNotFoundException)、データベースにアクセスできなかった(SQLException)など、アプリの責任では回避できない問題が、ここに属します。Javaでは、アプリ側で検査例外を処理することが義務付けられています(=処理されなかった検査例外はコンパイル時にエラーとなります)。

例外処理
例外処理
try…catch命令
finally句
throw命令

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職