본문 바로가기

개발자노트

예외처리 - 나만의 예외 만들기

상황 : 나이를 입력하시오 (0~200) 내로

유효한 범위 내의 나이를 받고 싶은데, 기본적으로 제공되는 예외처리로는 예외처리를 하기가 어려움, 이를 위해 나만의 예외처리를 만드려고 한다.

 

package class02;

import java.util.Scanner;

// +)
// 나만의 예외만들기
class MyException extends Exception{
   // 멤버변수 메세지 값을
   // 반드시 설정해서 만들수있게!
   // -> 생성자: 멤버변수 값을 초기화할때
   private String message;
   MyException(String message){
      this.message=message;
   }
   public String getMessage() {
      return message;
   }

}
public class Test05 {
   public static void main(String[] args) {

      MyException me=new MyException("범위에 맞는 나이를 입력해주세요!"); // MyException의 생성자 (String massage)로 me 객체를 생성

      Scanner sc=new Scanner(System.in);
      try {
         System.out.print("나이입력) ");
         int age=sc.nextInt();
         if(age<0 || 200<age) { //만약 조건을 만족한다면.
            // 예외를 일부러 발생시켜야하는 상황 
            throw me; // me를 발생시켜서
         }
      }
      catch(MyException e) { // catch로 받아서 MyException 을 실행
         System.out.println(e.getMessage()); // e는 .getMessage()메서드를 수행
      }


   }
}