呼び出し元に対して例外を投げる可能性のあるメソッドを書いた場合は、
どの例外が投げられるのかを明示しておくことができます。
それはthorwsを利用することで可能です。
コンストラクタでのthrowsステートメント
#codeprettify{{ conModifiers clsName(cparms) throws exceptions{
//コンストラクタの本体
} }}
throwsの後ろの定義がが投げられるであろう例外の明示部分です
exceptionsはこのコンストラクタから投げられる可能性のある例外をカンマ区切りで並べたものです。
メソッドでのthrowsステートメント
#codeprettify{{ conModifiers rtype mthName(mparams) throws exception
//メソッド本体
} }}
throwsの後ろのところが投げられるであろう例外の明示部分です
exceptionsはこのコンストラクタから投げられる可能性のある例外をカンマ区切りで並べたものです。
例
#codeprettify{{ class throwsDemo{
public static void main(String args[]){
a();
}
public static void a(){ //例外を処理している為、ここはthrowsはいらない
try{
b();
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
public static void b() throws ClassNotFoundException{ //可能性のある例外をthrowsで明示
c();
}
public static void c() throws ClassNotFoundException{ //可能性のある例外をthrowsで明示
Class cls = Class.forName("java.lang.Integer");
System.out.println(cls.getName());
System.out.println(cls.isInterface());
}
} }}
結果
java.lang.Integer false