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;
}
}