1

我有一个非常简单的问题。我没有使用它,但我很想知道答案。只有当异常被捕获时,我们才能在 catch 块中执行多个语句吗?我的意思是在我下面的代码中,这两个语句都会被执行吗?让我添加一些代码片段以使其清楚..

我找到了这个链接,但没有给我问题的答案。 链接点这里

我在某人提出的这个问题中找到了上面的链接,但它的代码非常模糊,很难理解。 堆栈溢出链接

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块中看到多个语句是很常见的。

如果第一行发生异常,则不执行第二行。执行在任何抛出异常的行停止;块中没有超过该点的行被执行——执行直接进入 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 回答