1

非常に簡単な質問があります。私はそれを使用していませんが、答えを知りたいという好奇心があります。例外がキャッチされた場合にのみ、catchブロックで複数のステートメントを実行できますか?以下の私のコードでは、両方のステートメントが実行されるかどうかを意味しますか?明確にするために、コードスニペットを追加しましょう。

私はこのリンクを見つけましたが、私の質問に対する答えを私に与えていません。 リンクここをクリック

私がこの質問で見つけた上記のリンクは誰かが尋ねましたが、それは非常にぼやけたコードを持っているので理解するのが難しいです。 stackoverflowリンク

try {
    int x = doXProcess();
    int y = doYProcess();
} catch (Exception e) {
    System.out.println("Error related x: " x + e.printStackTrace());
    System.out.println("Error related y: " y + e.printStackTrace());
}

あなたの助けと時間をありがとう。

4

4 に答える 4

5

例外を処理するコードのブロックで、間違いなく数行を実行できます。

ただし、コードはコンパイルされないことに注意してください。

于 2012-09-28T17:23:24.923 に答える
3

tryブロック内に複数のステートメントが表示されるのは一般的です。

1行目で例外が発生した場合、2行目は実行されません。例外がスローされた行で実行が停止します。ブロック内のそのポイントを超える行は実行されません。実行はcatchブロックに直接進みます。

ブロックから例外がスローされた場合catch、実行は例外が発生した行で再び停止します。finallyブロックが定義されている場合は、そこからブロックに移動します。

于 2012-09-28T17:24:21.890 に答える
1

はい、できます。N個のステートメントを実行できます。

于 2012-09-28T17:25:10.830 に答える
1

はい、catchブロック内のすべてのステートメントは、例外がキャッチされたときに実行されます。

于 2012-09-28T17:25:12.520 に答える