私はtry catchを使ってjavaでErrorを処理すべきではないことを知っていますが、学習のために試してみました。 catchブロックの後のコードも実行されています。 StackOverFlowErrorを生成しましたが、引き続きローカル変数を初期化できます。 誰でも説明できますか?このクラスのなぜエラー処理が推奨されないのですか?
import java.util.LinkedList;
import java.util.List;
public class ExceptionDemo {
public static void main(String[] args) {
try{
method1();
}
catch(Error e){
System.out.println(e.getStackTrace());
System.out.println("Hello world");
int a =10;
System.out.println(a);
method();
}
System.out.println("Hello world2");
}
public static void method1(){
method1();
}
public static void method(){
List l1 = new LinkedList();
l1.add("A");
int[] aa = new int[10000];
aa[0]=25;
System.out.println(aa[0]);
int b =10;
int c = 20;
System.out.println(b +""+c);
}
}
出力がある - 私は「なぜエラーをキャッチしない」に関連ではありませんあなたの質問の一部に私の答えに焦点を当て
[Ljava.lang.StackTraceElement;@1db9742
Hello world
10
25
1020
Hello world2
あなたは何を求めていますか? –
ようこそスタックオーバーフロー! [ツアー]を見て回り、[ヘルプ]、特に[*どのように良い質問をしますか*](/ help/how-to-ask) –
でも読むことができますオブジェクトとローカル変数、どのように起こっている? –