7章 例外処理 Flashcards
(33 cards)
例外
プログラムの実行時に発生するエラー
throw
例外を発生させるという意味
例外オブジェクトをthrow
throw 例外オブジェクト;
Throuwableクラス
すべての例外やエラーのスーパークラス。
例外の原因や詳細メッセージなどの情報を保持し、情報の取得メソッドを提供します。
Throwable getCause()
Throuwableクラス
オブジェクトに設定された原因を返す
String getMessage()
Throuwableクラス
オブジェクトに設定された詳細メッセージを返す
void printStackTrace()
Throuwableクラス
例外オブジェクトとスタックトレースを出力する
Exceptionクラス
コンパイラにより例外処理の有無がチェックされるチェック例外。
例外処理は必須。
処理を行っていないプログラムはコンパイルエラーになる。
Exceptionを継承するクラスのうち、RuntimeExceptionとそのサブクラス以外はすべてチェック例外に該当する。
ClassNotFoundException
Exceptionクラスのサブクラス
文字列に指定のクラス名でクラスがロードできない場合に発生。
IOException
Exceptionクラスのサブクラス
ファイルやネットーワークなどの入出力処理が失敗した場合に発生。
FileNotFoundException
IOExceptionクラスのサブクラス
指定のパスにファイルが存在しない場合に発生。
RuntimeExceptionクラス
コンパイラが例外処理の有無をチェックしない、非チェック例外。
例外処理は任意。
ArithmeticException
RuntimeExceptionクラスのサブクラス
整数をゼロで除算した場合などに発生。
ArrayIndexOutOfBoundsException
RuntimeExceptionクラスのサブクラス
不正なインデックスで配列にアクセスした場合に発生。
ClassCastException
RuntimeExceptionクラスのサブクラス
参照型のキャストが無効な場合に発生。
NullPointerException
RuntimeExceptionクラスのサブクラス
Nullが代入された参照型のメンバにアクセスした場合に発生。
NumberFormatException
RuntimeExceptionクラスのサブクラス
文字列を整数に変換できない場合に発生。
Errorクラス
メモリ不足やハードウェアのトラブルなどで発生するエラー。
プログラムで処理すべきではないため、Errorクラスとそのサブクラスもチェック非例外。
NoClassDefFoundError
Errorクラスのサブクラス
ロードするクラスが見つからない場合に発生。
OutOfMemoryError
Errorクラスのサブクラス
プログラムの実行に必要なメモリが確保できない場合に発生。
StackOverflowError
Errorクラスのサブクラス
アプリケーションでの再起の回数が多すぎる場合に発生。
カスタム例外
ビジネスロジック固有の事象などで標準APIで提供されていない例外クラスを必要とする場合にアプリケーション独自に作成する例外クラス。
チェック例外であるExceptionクラスを継承して作成するのが一般的。
カスタム例外宣言
[ 修飾子 ] class カスタム例外クラス名 extends Exception {}
例外処理の方法2種類
・try-catchによる例外のキャッチ
・throwsによる例外の転送