注目記事

【Javaコード入門】例外処理_①例外処理

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

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

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

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

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

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

監修

山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。