상황 : 나이를 입력하시오 (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()메서드를 수행
}
}
}
'개발자노트' 카테고리의 다른 글
스레드 [Thread]의 기본사용법 (0) | 2022.06.24 |
---|---|
스레드[Thread]의 기본원리 (0) | 2022.06.24 |
예외처리 throw (0) | 2022.06.24 |
예외처리 - InputMismatchException (0) | 2022.06.24 |
예외와 예외처리(try, catch) - Exception, .printStackTrace(); 사용 (0) | 2022.06.24 |