자바 표준 API에서 제공하는 에외 클래스 말고, 내가 정의해서 쓸 수 있다. - >사용자 정의 예외 예를 들어 은행 업무 프로그램에서 잔고보다 더 많은 출금 요청 들어왔을 경우, 잔고 부족 예외를 발생시킬 수 있다.
일반 예외의 경우 Exception 상속하고, 실행 예외의 경우 RuntimeException을 상속한다.
public class 사용자정의Exception extends [Exception|RuntimeException]{
public 사용자정의Exception() {} //기본 생성자
public 사용자정의Exception(String message){ super(message); } //메세지 있는 기본 생성자
}
클래스 이름은 사용자정의이름Exception으로 끝나는 게 좋다.
위에서 얘기 했던 대로 은행 업무에서 잔고 부족할 경우 Exception을 정의해보자.
public class BalanceException extends Exception{
public BalanceException(){}
public BalanceException(String message){
super(message);
}
}
이걸 실행해보자.
public class Account{
private long balance;
public Account() {}
public long getBalance(){
return balance;
}
public void deposit(int money){
balance+=money;
}
public void withdraw(int money) throws BalanceException{
if(balance< money){
throw new BalanceException("잔고 부족"+(money-balance));
}
}
}
반응형
'Java' 카테고리의 다른 글
예외 : 정보 얻기 printStackTrace(), getMessage() (0) | 2021.03.25 |
---|---|
예외 : 예외 떠넘기기 (0) | 2021.03.25 |
예외 : try-with-resource (0) | 2021.03.25 |
예외 : try-catch-finally (0) | 2021.03.25 |
예외 : 예외와 예외 클래스 (0) | 2021.03.25 |
Uploaded by Notion2Tistory v1.1.0