07-04 예외 처리 개념과 간단한 예시 코드- 개발새발자 작성 일기

개발새발자·2023년 10월 29일
1

자바 개념

목록 보기
13/15

예외 처리

예외 처리란, 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이다.
예외 처리를 통해 프로그램의 갑작스런 비정상적인 동작을 막고, 각 예외에 맞는 처리를 해서 프로그램의 정상적인 실행 상태를 유지시켜준다.




일단 예외라는 게 언제 발생하는 걸까
<예시 예외 상황>

public class SampleException {
    public static void main(String[] args) {
        int c;
        try {
            c = 4 / 0;
        } catch(ArithmeticException e) {
            c = -1;  // 예외가 발생하여 이 문장이 수행된다.
        }
        System.out.println(c); // -1
    }
}

결과

-1

나누는 수가 0일 경우 산술의 문제가 생기게 되는데

이를 컴퓨터에서 예외 메시지를 보내주게 된다
만약 catch문을 작성하지 않고 그냥 4 / 0 코드를 돌려보면

public class SampleException {
    public static void main(String[] args) {
        int c;
        c = 4 / 0;
    }
}


이렇게 빨간색 예외 메세지가 뜨는 것을 확인 할 수 있다
예외 메세지를 살펴보면 ArithmeticException이라고 적혀있는데
이는 산술에 문제가 생겼다는 예외 종류이다.

그래서 위의 코드에서 catch를 사용해서 ArithmeticException 에러가 생겼을 때를 예외 처리해서 c를 -1로 바꿀 수 있었던 것이다

만약 예외가 발생하지 않는다면 코드는 어떻게 작동할까

public class SampleException {
    public static void main(String[] args) {
        int c;
        try {
            c = 4 / 1;
        } catch(ArithmeticException e) {
            c = -1;  // 예외가 발생하지 않아 catch 구문에 들어오지 않는다.
        }
        System.out.println(c); // 4
    }
}

c = 4 / 1; 이라는 코드는 ArithmeticException 예외가 발생하지 않으므로 catch문에 들어가지 않아 4를 반환한다.

이러한 예외 처리는 try ~ catch 문이라 부르며
try 구문에는 예외발생 가능한 코드가 위치하고 만일 코드에 오류가 발생되면, 오류 종류에 맞는 catch문으로 갖서 catch 블록 안에 있는 코드를 실행시킨다.

public class SampleException {
    public static void main(String[] args) {
        try {
            ...
            예외발생 가능한 코드들
            ...
        } catch(예외종류 e) {
            ...
            오류 발생 시 실행시킬 코드들
            ...
        }
    }
}
profile
바삭하고 촉촉한 쿠키로 살자

0개의 댓글