JAVA에서의 예외처리 (try~catch~finally / 이중 catch문)

2022. 2. 14.공부/OOP

728x90
package exception3;

public class Exception03P355 {
	public static void main(String[] args) {
		int[] number = {1, 2, 3, 4, 5, 0};
		
		// 예외가 발생할지도 모르는 코드부터 try블럭에 넣습니다.
		try {for(int i = 0; i < 7; i++) {System.out.println(number[i]);}
            // 배열 인덱스를 초과해서 입력하는 경우 존재하지 않는 번호가 조회되어 
            // ArrayIndexOutOfBoundsExcaption이 발생합니다.
			System.out.println("0으로 나누기 시도해보겠습니다.");
			System.out.println(number[4] / number[5]); 
            // 숫자를 0으로 나눌 경우 ArithmeticException이 발생합니다.
		} 
        catch(ArrayIndexOutOfBoundsException ai) {
			System.out.println("범위를 벗어난 인덱스 번호를 입력했습니다.");
		} 
        catch(ArithmeticException ae) {
			System.out.println("0으로 숫자를 나눌 수 없습니다.");
		} 
        catch(Exception e) {
            // Exception e 는 만능처리구문으로 어떤 예외도 다 일괄처리합니다.
            // 만능처리구문은 맨 밑에 깔아줘야 합니다. 
            // 그래야 위쪽에서 다른 지정된 예외를 처리해줄 수 있습니다.
			System.out.println("예외가 발생했습니다.");
		} 
	}
}

 

https://github.com/developedbyssony/java_basic/blob/master/20220128/src/exception3/Exception03P355.java

 

GitHub - developedbyssony/java_basic

Contribute to developedbyssony/java_basic development by creating an account on GitHub.

github.com

 

 

'공부 > OOP' 카테고리의 다른 글

Overriding과 Overloading의 차이점  (0) 2022.02.07
다형성 (Polymorphism)  (0) 2022.02.07
컴공 뚝배기 깨는 별찍기  (0) 2022.01.18
문제 풀이  (0) 2022.01.18
중첩 반복문 ^-ㅠ  (0) 2022.01.11