Java/10. 예외 처리 (Exception)

Day 14 : 예외 처리 코드 - 다중 catch

pancakemaker 2021. 11. 5. 17:38

다중 catch : 발생되는 예외별로 예외 처리 코드를 다르게 하기 위함

 

※ catch 블록이 여러 개라 할지라도 단 하나의 catch 블록만 실행된다. 하나의 예외가 발생하면 즉시 실행을 멈추고 해당 catch 블록으로 이동한다.

 

다중 catch

package sec04_multi_catch;

public class CatchByExceptionKindExample {
	public static void main(String[] args) {
		try {
			String data1 = args[0];
			String data2 = args[1]; 
			int value1 = Integer.parseInt(data1);
			int value2 = Integer.parseInt(data2);
			int result = value1 + value2;
			System.out.println(data1 + "+" + data2 + "=" + result);
		} catch(ArrayIndexOutOfBoundsException e) {
			System.out.println("실행 매개값의 수가 부족합니다.");
			System.out.println("[실행 방법]");
			System.out.println("java TryCatchFinallyRuntimeExceptionExample num1 num2"); 
		} catch(NumberFormatException e) {
			System.out.println("숫자로 변환할 수 없습니다.");
		} finally { //finally : 무조건 실행됨
			System.out.println("다시 실행하세요.");
		}
	}
}
실행 매개값의 수가 부족합니다.
[실행 방법]
java TryCatchFinallyRuntimeExceptionExample num1 num2
다시 실행하세요.