免責事項:私はJavaコンパイラにアクセスすることはできません。また、IDEをインストールすることもできません。私のワークスペースは十分な特権を与えません。それが投げされ、サブクラスが明示的にすべての例外をキャッチするcatchブロック内で例外をスローする場合明示的にスローされた例外が上向きにスローされますか?
:
私は、Javaの例外を扱う方法を理解しようとしていると、この質問につまずきましたか?だから、新しい例外がtryブロックの中で投げられ
public Class someClass {
public int value;
public someClass() {
value = 1;
try {
value ++;
if(value == 2) {
throw new Exception("value is 2");
}
} catch (exception e) {
System.out.println("I caught an exception.");
throw new Exception("Does this exception get thrown upwards?");
System.out.println("will this line of code get printed after the previously thrown exception?");
} finally {
return;
}
}
}
public class anotherClass {
public static void main throws Exception{
someClass someclass = new someClass(); // will this class catch the second explicitly thrown exception?
}
}
、以下のcatchブロックでキャッチ:たとえば、次のコード行を検討してください。 2番目のスローステートメントはどこに行きますか?もしそれがあれば、それは上級クラスに入りますか?また、printlnステートメントはfinallyブロックにないのに例外がスローされた後に実行されますか?
ありがとうございました。
あなたは既にコードを持っています。なぜそれを実行し、何が起こるかを見てみませんか? –
はい、2番目のバブルは泡立ち、投げた後の 'println'文は実行されません。よいIDEは2番目の 'println'を到達不能コードとして表示します。 EclipseとFindBugsプラグインを試してみてください。 –
@ThomasWeller現在の仕事用コンピュータにはJavaがなく、Javaをインストールする権限がありません。また、管理者に連絡することもできません。 – noobcoder