예외처리 - 3. 예외(Exception) 클래스 사용자 정의

Ⅲ. 예외(Exception) 클래스 사용자 정의

1. 사용자 정의 예외 클래스 작성 및 발생방법

 - Exception 상속 : 일반예외(Checked Exception)으로 생성

 - RuntimeException 상속 : 실행예외(UnChecked Exception)으로 생성

// Example
package sample;

class AgeException extends Exception {

}

public class Main {
	public static void ticketing(int age) throws AgeException {
		if(age < 1) {
			throw new AgeException();
		}
		
		System.out.println("티켓을 구매해 주셔서 감사합니다");
	}
	
	public static void main(String[] args) {
		int age = -10;
		try {
			ticketing(age);
		} 
		catch(AgeException e) {
			// .printStackTrace() : 스택 메모리 추적 내용을 출력함
			e.printStackTrace();
		}
	}
}
// 결과 : 
// day12.AgeException
//		at day12.Exception03.ticketing(Exception03.java:10) (.ticketing이 예외가 발생한 경로)
//		at day12.Exception03.main(Exception03.java:19)