Java - 문제 미리보기

문제 2319

hard
다음 코드에서 `throw` 키워드의 사용 목적은 무엇인가요?
```java
static void checkAge(int age) {
if (age < 18) {
throw new ArithmeticException("Access denied - You must be at least 18 years old.");
} else {
System.out.println("Access granted - You are old enough!");
}
}
```
A. 시스템에서 자동으로 발생한 예외를 처리하기 위해
B. 개발자가 특정 조건에서 의도적으로 예외를 발생시키기 위해
C. 예외가 발생했을 때 에러 메시지를 출력하기 위해
D. try-catch 블록을 종료하기 위해

정답: B



throw 키워드의 목적:
⦁ 개발자가 특정 조건에서 의도적으로 예외를 발생시킴
⦁ 비즈니스 로직에 맞지 않는 상황을 예외로 처리

코드 분석:
⦁ `age < 18` 조건에서 수동으로 예외 발생
⦁ `ArithmeticException`을 새로 생성하여 던짐
⦁ 사용자 정의 에러 메시지 포함

실행 결과 (age = 15):
```txt
Exception in thread "main" java.lang.ArithmeticException:
Access denied - You must be at least 18 years old.
```
throw vs 자동 예외:
⦁ 자동 예외: 시스템이 감지한 에러 (배열 범위 초과 등)
⦁ throw 예외: 개발자가 의도적으로 발생시킨 에러

💡 학습 팁

이 문제를 포함한 Java 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.