Ich bin nicht in der Lage, dieses Programm zu verstehen. Ich erwarte, dass es "Hallo Welt" ausgibt, aber stattdessen druckt es nur die "Welt". Ich dachte, dass zuerst der try
Block ausgeführt würde, "Hello" und "" druckend, dann später, wenn es 1/0
trifft, würde es einen ArithmeticException
werfen. Die Ausnahme würde von catch
Block gefangen werden, dann würde "Welt" gedruckt werden.Java Exception Handhabung Verständnis Problem
Das Programm ist wie folgt.
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");
}
}
}
Warum denkst du, es würde "Hallo" vor der Auswertung von '1/0' drucken? – user2357112
Es muss den Wert von "Hello" + "" + 1/0 "interpretieren, bevor es etwas druckt. '" Hallo "' wird nicht gedruckt, weil Sie nicht sagen, dass Sie _just_ '" Hello "', eher '" Hello "' plus etwas, das die Ausnahme verursacht, drucken. –
Danke @ChrisSprague. Ich habe verstanden. –