[Java] Class의 Exception 처리
Case 1) Numbers(클래스)
arr[] 공간의 길이가 0이기 때문에 해당 코드는 Exception이 발생하게 됩니다.
Arithmetric Exception이 발생하게 되는데,
int average = obj.getAverage();
}catch(java.lang.ArithmeticException e){
// 출력(산술 오류에 관한 메시지)
}
이처럼 처리하는 것도 하나의 방안이 될 수 있으나, 가장 좋은 구조는 Arithmetic Exception이 발생하지 않도록 처리하는 것이 가장 좋은 구조가 아닐까 생각해봅니다.
Case 2) Account(클래스)
class Account{
String accountNo;
String ownerName;
int balance;
Account(String accountNo, String ownerName, int balance){
this.accountNo = accountNo;
this.ownerName = ownerName;
this.balance = balance;
}
void deposit(int amount){
balance += amount;
}
int withdraw(int amount) throws Exception{
if(balance < amount)
throw new Exception("잔액이 부족합니다.");
else
balance -= amount;
return amount;
}
}
1. Try ~ Catch로 예외 처리
public static void main(String args[]){
Account obj = new Account("1", "곰", 40);
obj.deposit(-40);
try {
int amount = obj.withdraw(1);
System.out.println("인출액:" + amount);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
2. throws Exception으로 처리
public static void main(String args[]) throws Exception{
Account obj = new Account("1", "곰", 40);
obj.deposit(-40);
int amount = obj.withdraw(1);
System.out.println("인출액:" + amount);
}
}
참고 문헌) 뇌를 자극하는 JAVA 프로그래밍 P238~244
'소프트웨어(SW) > Sun Sys - Java' 카테고리의 다른 글
[Java] 행 바꾸기 (6) | 2014.10.24 |
---|---|
[Java] Txt 파일 읽기 (Enter키 고려) (6) | 2014.09.27 |
[JDBC] MySQL - UTF8 Connection (6) | 2014.07.24 |
[Java] Eclipse - Tomcat Library 사용하기 (6) | 2014.07.17 |
[Java] 상속에 관한 방법 (6) | 2014.06.24 |