我無法理解此程序。我希望它輸出「Hello World」,但它只打印「世界」。我認爲首先try
塊會執行,打印出「你好」和「」,然後當遇到1/0
時,它會拋出一個ArithmeticException
。 catch
塊會捕獲異常,然後會打印「World」。Java異常處理理解問題
程序如下。
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''? – user2357112
在打印任何內容之前,它必須解釋'「Hello」+「」+ 1/0「的值。 ''Hello「'不會被打印出來,因爲你不是在打印_just_'」Hello「',而是'」Hello「'加上導致異常的東西。 –
謝謝@ChrisSprague。我明白了。 –