본문 바로가기

Java

예외 : 사용자 정의 예외와 예외 발생

자바 표준 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