catch块中有多个Statement

时间:2012-09-28 17:21:55

标签: java try-catch

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

我找到了这个链接,但没有给我答案。 link Click Here

我在这个问题中找到的上述链接是由某人提出的,但它的代码非常模糊,难以理解。 stackoverflow Link

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 个答案:

答案 0 :(得分:5)

您可以在处理异常的代码块中执行多行。

但请注意,您的代码无法编译。

答案 1 :(得分:3)

通常会在try块中看到多个语句。

如果第一行发生异常,则不执行第二行。执行在任何抛出异常的行停止;没有超过块中该点的行被执行 - 执行直接进入catch块。

如果从catch块抛出异常,则再次执行将在发生异常的行停止。从那里你去一个finally块,如果有一个块。

答案 2 :(得分:1)

是的,你可以。 N个语句可以执行。

答案 3 :(得分:1)

是的,当捕获到异常时,会执行catch块中的所有语句。