【发布时间】:2016-06-29 18:20:36
【问题描述】:
我无法理解这个程序。我希望它输出“Hello World”,但它只打印“World”。我认为首先会执行try 块,打印“Hello”和“”,然后当它遇到1/0 时,它会抛出ArithmeticException。异常将被catch 块捕获,然后将打印“World”。
程序如下。
import java.util.*;
class exception{
public static void main(String args[])
{
try
{
System.out.println("Hello"+" "+1/0);
}
catch(ArithmeticException e)
{
System.out.println("World");
}
}
}
【问题讨论】:
-
为什么你认为它会在评估
1/0之前打印"Hello"? -
它必须在打印任何内容之前解释
"Hello" + " " + 1/0的值。"Hello"没有被打印,因为你不是说要打印 just"Hello",而是"Hello"加上导致异常的东西。 -
谢谢@ChrisSprague。我明白了。
标签: java exception-handling arithmeticexception