Java/10. 예외 처리 (Exception)

Day 14 : 예외 발생시키기 (throw)

pancakemaker 2021. 11. 5. 18:47

throw new XXXException();

throw new XXXException("예외 메시지");

 

자신을 호출한 곳에서 예외를 처리하도록 throws 키워드로 예외를 떠넘긴다.

public void method() throws XXXException {
	throw new XXXException("메시지");
}

그렇기 때문에 throws 키워드를 포함하고 있는 메소드는 호출부에서 다음과 같이 예외 처리를 해주어야 한다.

try {
	method();
} catch(XXXException e) {
	//예외 처리
}

 

사용자 정의 예외 발생시키기

package sec07_user_define_exception;

public class Account {
	//필드
	private long balance;
	
	//생성자
	public Account() {}
	
	//메소드
	public long getBalance() { //money값이 누적된 balance를 불러와서 balance 필드에 저장  
		return balance;
	}
	
	public void deposit(int money) { //입금
		balance += money;
	}
	
	public void withdraw(int money) throws BalanceInsufficientException { //출금
		if(balance < money) { //잔고가 출금액보다 적을 경우
			throw new BalanceInsufficientException("잔고부족: " + (money-balance) + " 모자람");
		} //잔고가 출금액보다 같거나 많을경우
		balance -= money;
	}
}