ただ、ストレスなく生きたいだけのITエンジニアのブログ -- 弱小エンジニア脱却への道
javaの例外処理を使いこなすためのポイントを解説します

【初心者向け】javaの例外処理を使いこなすためのポイントを解説します

こんにちは!ISAMU(@burlesca_isa)です!

今回の対象読者は

  • javaの例外処理を使いこなすためのポイントを知りたい方

javaの例外処理を使いこなすためのポイントを解説します

java 例外処理を使いこなすためのポイントは

  • 例外クラスの分類
  • 例外クラスの階層
  • 例外クラスのサブクラス

を覚えることです。

例外クラスの分類

例外クラスの分類を覚えることで、
例外処理を追加しないとエラーになるクラスを判断する事ができます。

例外クラスは

  • checked例外(チェック例外)
  • unchecked例外(非チェック例外)

の2種類分類されます。

  • チェック例外・・・例外処理を必ず追加しないとエラーが発生する
  • 非チェック例外・・・任意で例外処理を追加する

チェック例外のクラスを判断する方法は、
Exceptionクラスを継承している かつ RuntimeExceptionクラスを継承していない
かどうかです。

例外クラスの階層

例外クラスの階層を覚えることで、

  • チェック例外・非チェック例外か判別
  • 例外処理のでのルールの理解

につながります。

例外クラスの継承図を見てみます。

例外クラスの階層

Throwableクラスが例外クラスのルートクラスです。

Throwableをスーパークラスにして、
ExceptionクラスとErrorクラスの2系統に分かれます

Errorクラスは非チェック例外なので、任意で例外処理を追加します。

Errorクラスは対処できない不具合で発生するため、
殆どの場合例外処理は行いません。

重要なのがExceptionクラスです。

Exceptionをスーパークラスとしてクラスが大きく2種類に分類されます。
RuntimeExceptionクラスを継承しているかそうでないか。

RuntimeExceptionを継承している例外クラスは非チェック例外です。
そして、RuntimeExceptionクラスではない、Exceptionのクラスがチェック例外になります。

まとめると、

  • Errorクラス・・・非チェック例外
  • ExceptionクラスのサブクラスであるRuntimeExceptionクラスを継承・・・非チェック例外
  • RuntimeExceptionクラス以外のExceptionクラス・・・チェック例外

「RuntimeExceptionクラス以外のExceptionクラス」はチェック例外なので、
例外処理を行わなければコンパイルエラーになります。

暗記する例外クラス

例外クラスは多くありますが、
頻出する覚えたほうが良い例外クラスは

  • RuntimeExceptionのサブクラス
  • RuntimeExceptionクラス以外のExceptionクラス

です。

Errorのサブクラスはあまり使用することがないため、
後回しで良いです。

RuntimeExceptionのサブクラス

  • ArrayIndexOutOfBoundsException・・・不正なインデックスで要素にアクセスしたとき
  • ClassCastException・・・参照変数において間違ったキャストしたとき
  • NullPointerException・・・nullが代入された参照変数で、メソッド呼び出しを行ったとき
  • NumberFormatException・・・整数を表さない文字列を整数に変換するとき

RuntimeException以外のExceptinoのサブクラス

  • IOException・・・入出力を行う時
  • FileNotFoundException・・・ファイルが存在しない時

FileNotFoundExceptionはIOExceptionのサブクラスです。

覚えることで下記のことが理解できるようになります

  • catchブロックの複数の定義
  • throwsの使用
  • throwsがあるメソッドのオーバーライド

これらは次回の講座で解説します

[nlink url=”https://kajirinyo.com/java_course_31/”]
javaの例外処理を使いこなすためのポイントを解説します
最新情報をチェックしよう!