Java: 例外処理2
例外処理の方法には以下の二つある
1)例外が発生した場合、Try catchでそれを受け
取り処理する。
2)Try catchを書かないで、そのメソッドに
throws 例外クラスと書いて、処理を、それ
をコールしたところに任せる。
今回は上記の二つを一緒に使い,さらに独自の例外オブジェクトを作成使用するような仕掛けの例外処理を扱う。図Proo9_1_srcはそのための例である。図Proo9_1_srcについて:
2行 例外オブジェクトを作成するためのクラスである。
12から15行 例外オブジェクトを作成、例外を起こすメソッド(cause_except)である。このメソッドはthrows節が付いていて、例外の処理をメソッドを呼んだところに任せるようにしている。13行で例外オブジェクトを作り、15行でそれを投げている。投げた例外は8行の
catchで受け取られ、そのメッセージを出している。
6行 mainのtryブロックの中で例外を起こすメソッド(cause_except)を呼んでいる。
以下にソースを二つ示す。/*例外処理2 例外クラスの作成, throws, throw */ class AException extends Exception{}; class Proo9_1 { public static void main(String[] args) { try { cause_except(); } catch(AException ae){ System.out.println(ae+"を受け取りました。"); } } static void cause_except() throws AException { AException ae = new AException(); System.out.println(ae+"を投げます。処理は任せます"); throw ae; } } /* AExceptionを投げます。処理は任せます AExceptionを受け取りました。 */