JAVA/예외처리

사용자 정의 예외

별초롱언니 2025. 5. 13. 11:51

자바에서는 예외 클래스를 사용자가 직접 정의할 수도 있습니다. 

 

기존의 API에서 제공하는 예외 클래스만으로 예외의 경우를 표현할 수 없는 경우 에외인 경우 직접 만들어서 사용하기도 합니다. 

package chapter09;

class AgeException extends Exception {
	public AgeException() {}
		public AgeException(String message) {
			super(message);
		}
}

public class exam67 {

	public static void ticketing(int age) throws AgeException{
		if(age<0) {
			throw new AgeException("나이 입력이 잘못되었습니다.");
		}
	}


	public static void main(String[] args) {
		int age = -19;
		try
		{
			ticketing(age);
		} 
		catch (AgeException e) 
		{
			e.printStackTrace();
		}
	}

}

 

Line 3 에서 Exception 클래스를 상속받은 사용자 정의 에외 클래스인 AgeException 클래스를 만들었습니다. 

그리고 이 예외는 Line 11 에서 age가 0보다 작은 경우 예외라고 판단하고 AgeException  인스턴스를 생성하고 발생시켰습니다. Line21 에서 printStackTrace를 통해 사용자 정의 예외 클래스가 발생한 것을 확인합니다.