我有一个非常简单的问题。我没有使用它,但我有好奇心知道答案。只有在异常被捕获时,我们才能在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());
}
感谢您的帮助和时间。
答案 0 :(得分:5)
您可以在处理异常的代码块中执行多行。
但请注意,您的代码无法编译。
答案 1 :(得分:3)
通常会在try
块中看到多个语句。
如果第一行发生异常,则不执行第二行。执行在任何抛出异常的行停止;没有超过块中该点的行被执行 - 执行直接进入catch块。
如果从catch
块抛出异常,则再次执行将在发生异常的行停止。从那里你去一个finally
块,如果有一个块。
答案 2 :(得分:1)
是的,你可以。 N个语句可以执行。
答案 3 :(得分:1)
是的,当捕获到异常时,会执行catch块中的所有语句。