다음 코드에서 throw 키워드의 역할은?

과목: C#

문제 번호: 2687

hard
다음 코드에서 throw 키워드의 역할은?
static void CheckAge(int age)
{
    if (age < 18)
    {
        throw new ArithmeticException("미성년자 접근 불가");
    }
    Console.WriteLine("접근 허용");
}

static void Main(string[] args)
{
    try
    {
        CheckAge(15);
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}
A. 프로그램을 종료한다
B. 사용자 정의 예외를 발생시킨다
C. 오류 메시지를 출력한다
D. catch 블록을 건너뛴다

정답: B



throw 키워드는 명시적으로 예외를 발생시킵니다.

코드 실행 흐름:
1. CheckAge(15) 호출
2. age < 18 조건 만족
3. throw new ArithmeticException() 실행
4. 예외가 Main의 catch 블록으로 전달
5. "미성년자 접근 불가" 출력

throw의 특징:
⦁ 수동 예외 발생: 조건에 따라 의도적으로 예외 생성
⦁ 예외 객체 필요: new Exception타입(메시지)
⦁ 즉시 중단: throw 이후 코드 실행 안 됨

일반적인 예외 클래스들:
throw new ArgumentException("잘못된 인수");
throw new InvalidOperationException("잘못된 작업");
throw new FileNotFoundException("파일 없음");

💡 학습 팁

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