try ~catch 문을 이용한 예외 처리

try {

   //예외 발생 영역

} catch(예외 처리 클래스 변수) {

    //발생한 예외를 처리 하는 코드
}

1)예외가 발생하면 JVM에게 예외를 던진다.

2)JVM은 발생한 예외를 분석한 후 ArrayIndexOutOfBoundsException 객체를 생성한다.

3)JVM은 생성된 예외 객체를 발생된 곳으로 던진다.

4)JVM이 던진 예외 객체를 catch블록이 잡는다

5)예외 처리를 한 후 프로그램이 정상 종료 한다.

기본 예제

package com.java.exception;

public class Exception01 {

	public static void main(String[] args) {
		// Exception(예외 발생):
		// 작은 문제가 발생하더라도 일단은 프로그램이 실행 될 수 있도록 처리해주는 API

		int[] arr = new int[2];
		arr[0] = 1;
		arr[1] = 2;
		arr[2] = 3;
		//Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
		//at com.java.exception.Exception01.m
		
		//이하 프로그램은 실행 안된다는 문제점이 발생한다.
		for (int num : arr)
			System.out.println(num);

		System.out.println("프로그램이 종료");

	}

}

다중 Catch 문으로 예외 처리 하기

try {
   //예외 발생 영역

} catch(예외 처리 클래스 변수) {

    //발생한 예외를 처리 하는 코드

} catch(예외 처리 클래스 변수) {

    //발생한 예외를 처리 하는 코드
}