生涯学習コースのJAVAクラス、SJC-P (CX-310-055)対策用ノート。

catch

Throwable型のパラメータが、必ず一つ定義される。
Throwable型のパラメータがなければコンパイル・エラー。

例外オブジェクトに対応するcatchブロックが定義されていない場合、呼び出し元に遡って、該当するcatchブロックが検索される。
mainメソッドまで遡っても該当するcatchブロックが見つからない場合、プログラムは停止する。

プログラムの実行中に発生した問題を通知するために、実行時に生成されるオブジェクト。
Javaコンパイラは、catchブロックの順序とパラメータの型をチェックする。
サブクラスよりも先にスーパークラスを補足するようにcatchブロックを配置するとコンパイル・エラー。

finally

catchブロックの実行が終わった時点で、finallyブロックへ制御が移行する。
finallyブロックは必ず実行される。
tryブロック内にreturnが含まれていたとしても、呼び出し元に戻る前にfinallyブロックが実行される。

tryブロックには、最低1つのcatchブロック、またはfnallyブロックが必要。
catchブロック、またはfinallyブロックが定義されない場合、コンパイル・エラー。

コンパイル時に、catchブロックのパラメータ型がチェックされる。
パラメータがjava.lang.Throwableオブジェクトでなければ、エラー・メッセージが表示される。

throw

明示的に例外を生成するために利用する。
java.lang.Throwable型のオブジェクトをthrowできる。
java.lang.Throwableオブジェクトでなければ、エラー・メッセージが表示される。

throws

throwされる例外を明示するために利用する。
RuntimeExceptionを除く、捕獲されるすべてのExcepionサブクラスを捕獲するか、宣言しなければならない。
例外ハンドラが欠けている場合、コンパイル・エラー。

サブクラスは、スーパークラスで指定されている以外の例外クラスを指定することができない。
サブクラスは、スーパークラスで指定されているよりも範囲の広い例外クラスを指定することができない。

独自の例外

Exceptionサブクラスとして作成する。

フリーエリア

メンバーのみ編集できます