안녕하세요 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 |