[Java] Exception

재피터노트북·2022년 10월 19일
0
post-thumbnail

예외처리(Exception)

프로그램을 만들다 보면 수없이 많은 오류가 발생한다. 물론 오류가 발생하는 이유는 프로그램이 오동작을 하지 않기 하기 위한 자바의 배려이다. 하지만 때로는 이러한 오류를 무시하고 싶을 때도 있고, 오류가 날 때 그에 맞는 적절한 처리를 하고 싶을 때도 있다. 이에 자바는 try...catch, throw구문을 이용해 오류를 처리한다.

예외 발생 시키기.

int i = 10;
int j = 0;

int k = i / j;

이렇게 10을 0으로 나눌려고 하면 ArithmeticException 예외가 발생한다. 자바는 이와 같은 예외가 발생하면 프로그램을 중단하고 오류 메세지를 보여준다.

예외 처리하기.

int i = 10;
         int j = 0;

         try {
             int k = i / j;
             System.out.println(k);
         } catch (ArithmeticException e) {
             System.out.println("0으로 나눌수 없습니다." + e.toString());
         } finally {
             System.out.println("오류가 발생했든 안했든 무조건 실행");
         }

try : try는 예외가 발생할 것 같은 부분을 try로 감싸준다.
catch : try문에서 예외가 발생했다면 catch문으로 넘어가 catch문이 수행된다.
finally : 예외가 발생하든 예외가 발생하지 않든 finally문은 무조건 실행된다.

실행 결과

0으로 나눌수 없습니다.java.lang.ArithmeticException: / by zero
오류가 발생했든 안했든 무조건 실행

메소드를 이용한 예외 처리

public static void main(String[] args) {
        int i = 10;
        int j = 0;
        try {
            int k = divide(i, j);
            System.out.println(k);
        } catch (ArithmeticException e) {
            System.out.println(e.toString());
        }

    }

    public static int divide(int i, int j) throws ArithmeticException {
        int k = i/j;
        return k;
    }

divide라는 함수를 만들어 throws를 통해 ArtihmeticException 에 대한 예외를 함수를 부르는 쪽에서 예외 처리를 해라 이렇게 할수도 있다.

throws : 자신을 호출한 상위 메소드로 에러를 던지는 역활을함.

throw : 에러를 고의로 발생시킬 때 사용함.

profile
난 이 재 선

0개의 댓글