이 프로그램을 이해할 수 없습니다. "Hello World"를 출력하길 기대하지만 대신 "World"만 인쇄합니다. 먼저 try
블록이 실행되어 "Hello"와 ""를 인쇄 한 다음 나중에 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 감사합니다. 나는 이해했다. –