해결된 질문
24.07.22 17:26 작성
·
84
0
public static void checkAge(int age) {
if (age < 18) { throw new IllegalArgumentException("나이는 18세 이상이어야 합니다.");
}
System.out.println("나이가 적합합니다.");
}
이거에서 if가 18이상이면 if문조건을 충족하지 않으므로 빠져나가서 나이가 적합합니다. 를 프린트 하는 건 알겠는데
15세일때 if문 조건(age<18)을 충족해서 throw로 예외를 던지고 나서 실행한 뒤
System.out.println("나이가 적합합니다."); 를 다시 실행해야 하는 거 아닌가요?
checkAge() 가
System.out.println("나이가 적합합니다.");
를 실행해야 끝난다고 생각되어서요;.
else문이 아니라 그냥 if문이라서 ..throw 에 대해서 조금더 자세한 설명해주실수있나요??
답변 2
0
2024. 07. 22. 21:16
throw는 그 즉시 예외(오류)를 발생시킵니다.
try 블럭 안에서 예외가 발생하면 그 즉시 catch문으로 이동하기 때문에 아래에 print문을 실행하지 않고 아래로 예외처리 부분으로 넘어갑니다.
2024. 07. 22. 21:15
네. finally는 없어도 됩니다. 예외처리 여/부와 상관없이 꼭 실행해야하는 구문이 있는 경우에 명시하기 위해 있는 키워드입니다.