맞는데 왜 틀릴까..?

Java

[Java] try catch 예외 처리

안도일 2022. 10. 22. 16:23
예제 1

 

public class MethExam02 {

	public static void main(String[] args) {
		
		int[] arr = {10,20,30,40,50,60,70,80,90,100};
		
		//int arr[] = new int[0];
		
		Numbers obj = new Numbers(arr);
		
		obj.getTotal();
		
		try {
			obj.getAvg();
		}
		catch(java.lang.ArithmeticException e) { // 에러 코드
			System.out.println("평균 계산 중 에러 발생!!!");
		}
		
		System.out.println("합계 = " + obj.tot);
		System.out.println("평균 = " + obj.avg);

	}
}

 오류 없이 합계, 평균 출력

 

int arr[] = new int[0]; 으로 변경하면

평균 계산 중 에러 발생 메세지 출력

 

 

예제 2

 

public class Account {
	
	String accountNo;
	String ownName;
	int bal;
	
	Account(String accountNO, String ownName, int bal){
		this.accountNo = accountNO;
		this.ownName = ownName;
		this.bal = bal;
	}
	
	void printAccount() {
		System.out.println("계좌번호: " + accountNo);
		System.out.println("예금주: " + ownName);
		System.out.println("잔액: " + bal);
		System.out.println();
	}
	
	void deposit(int amnt) {
		bal += amnt;
	}
	
	int withdraw(int amnt) throws Exception{
		
		if(amnt > bal)
			throw new Exception("잔액 부족!!!"); //예외를 던짐
		
		bal -= amnt;
		return amnt;	
		
	}
}

 

public class MethExam03 {

	public static void main(String[] args) {
		
		Account obj = new Account("7-77-777", "최대박", 10);
		
		try {
			int amnt = obj.withdraw(100);
			System.out.println("인출액: " + amnt);
		}
		catch (Exception e) {
			System.out.println(e.getMessage());
		}
	}
}

'Java' 카테고리의 다른 글

[Java] 상속 - 계좌 프로그램  (0) 2022.12.02
[Java] 오버 로딩, 오버 라이딩  (0) 2022.10.22
[Java] main() 메소드의 매개변수 args[]  (0) 2022.10.22
[Java] Class  (0) 2022.10.22
[Java] String Buffer, Tokenizer, Scanner  (0) 2022.10.22