しかし、次のプログラムでは、throws節のないcatch文で例外が再スローされると、エラーはありません?? どのようにですか?Javaでは、私たちによってスローされた例外はデフォルトのハンドラで捕捉されませんか?右
Class Throwdemo {
static void demoproc(){
try{
throw new NullPoinerException ("demo");
}catch(NullPointerException e) {
System.out.println("Caught inside demoproc.");
throw e;
}
}
public static void main(String Args[]){
try[
demoproc();
}catch(NullPointerException e) {
System.out.println("Recaught : " + e);
}
}
}
出力はは例外を確認するためにあなたが唯一throws
句が必要
Caught inside demoproc.
Recaught : java.lang.NullPointerException: demo
期待どおりの出力が得られます。あなたの質問は何ですか? – Thilo
@Thilo、@Luzhin:OPは 'demoproc()'メソッドに 'throws 'を追加する必要がない理由を言いたいかもしれません。 [私の知る限り] –
つまり、メソッドが単独で例外を処理できない場合、Exceptionサブクラスはthrows句に含まれなければならないが、例外がスローされるとcatchするためのcatch文はないそれは同じ方法で? –