[JAVA] 5.JAVA의 예외처리

안녕하세요 IT뽀로로 입니다.

 

오늘은 JAVA의 예외처리에 대하여 알아보겠습니다.

 

 

#예외처리 개념

 

먼저 예외처리란? 

 

잘못된 프로그래밍을 하면 Compile Error가 발생합니다. 

 

예외처리는 이런 Error가 발생하기 전에 오류에대한 대처를 취하는 것이 예외처리라고 합니다.

 

예로들어 다음 코드처럼 작성했다 생각해 봅시다.

 

int[] array = new int[5];

for(int i = 0; i < 5; i++){
	array[i+1] = i;
}

위의 코드를 잘 살펴보시면 반복문은 배열의 마지막 Index인 4에서 끝나지만 반복문 블록안에 명령은 4에서 +1을 해

 

5가 되겠죠.. 이렇게되면 배열의 크기를 초과해 잘못된 주소를 참조하게 됩니다.

 

이러한 경우를 Run Time Error라고하며 컴파일 시점에서 걸러낼 수 없습니다.

 

이렇기 때문에 JAVA에서는 예외처리로 처리를 해줍니다.

 

#예외처리 형식

 

예외처리의 기본 형식은 다음과 같습니다.

try{
	//예외처리가 발생할 수 있는 실행문
}
catch(처리할 예외 타입 선언){
	//예외처리문
}
finally{
	//선택적 구문으로 많이 생략함
}

finally같은 경우는 잘 사용하지 않습니다. finally를 사용할때와 사용하지 않을때의 실행 순서를 볼까요?

 

#예외처리 실행 순서

 

만약 예외가 발생하지 않는다면 catch 를 거치지 않습니다. 

 

그리고 예외가 발생하면 catch를 거쳐서 finally를 마지막으로 수행합니다.

 

예외 처리할때의 실행 순서는 꼭 기억하셔야 합니다!

 

그럼 이제 예외의 종류에 대하여 알아보죠

 

#예외 종류

 

예외 종류는 위와 같습니다.

 

#예외처리 실제 예

 

예외처리의 실제 예는 위에서 언급했던 배열의 범위를 벗어난 프로그래밍을 하였을때로 작성해 보겠습니다.

 

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		int[] array = new int[5];
		try {
			for(int i = 0; i <5; i++) {
				array[i+1] = i;
				
			}
		}
		catch(ArrayIndexOutOfBoundsException e) {
			e.printStackTrace();
		}

	}

}

 

잘 보시면 try에 예외가 발생할 것 같은 명령을 수행하고 catch문에 어떤 예외가 발생할 것 같은지 예외타입을 적어주고 

 

예외를 처리합니다. catch문에서 e.printStackTrace()는 예외가 발생했을때 예외에대한 출력을 보고싶을때 사용하면

 

밑의 그림처럼 예외에대한 출력을 나타내 줍니다.

 

 

 

References. 명품 Java Programming

'IT Study > JAVA' 카테고리의 다른 글

[JAVA] 6.객체지향 언어의 특성  (0) 2019.08.31
[JAVA] 연습문제  (0) 2019.08.30
[JAVA] 4.main() 메소드의 특징  (0) 2019.08.27
[JAVA] 3.for문과 for-each 문  (0) 2019.08.27
[JAVA] 2.키보드 입력 두가지 방법  (0) 2019.08.26