반응형
package dayday16;
/*
* 내가 만드는 예외상황 클래스
* 1. 예외 클래스가 언제 왜 어떻게 발생할지 결정
* ex)나이가 음수가 들어오면 돌발상황발생
* 이름에 숫자가 들어오면 돌발상황발생
* ...
* 2. 예외클래스 생성 : ~~ extends Exception
* 3. 돌발상황이 발생한 코드에 throw new 예외클래스();
* void inputAge() throws AgeException{
*
* ...
*
* if(나이가 음수면) throw new AgeException();
* }
*/
class Person extends Exception {
String name;
int age;
public void setAge(int age) throws AgeException {
if (age < 0)
throw new AgeException();
this.age = age;
}
}
class AgeException extends Exception {
// 이미 누군가 상속받았다? 부모클래스가 있는 AgeException이다? 자바에서는 다중상속이 불가능하다. 그랬을 경우
// implements하여 사용한다. throwable사용(다중상속이 불가능하여)
void show() {
System.out.println("나이는 음수가 될 수없습니다.");
}
}
public class test03 {
public static void main(String[] args) {
try{
Person p = new Person();
p.setAge(121);
System.out.println("p의 나이는 " + p.age + "세");
}catch (AgeException e){
e.show();
}
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] Exception class 사용 예제 (0) | 2023.04.20 |
---|---|
[JAVA] 예외처리 try-catch, throws 사용 예제 (0) | 2023.04.20 |
[JAVA] Map을 사용한 학생관리프로그램 예제 (0) | 2023.04.20 |
[JAVA] Thread 사용 예제 (0) | 2023.04.20 |
[JAVA] I/O Stream 사용 예제 (0) | 2023.04.20 |