TIL_180424 Exception (try/catch)

Exception

프로그램을 만든 프로그래머가 상정한 정상적인 처리에서 벗어나는 경우에 이를 처리하기 위한 방법

try & catch

예외가 발생하면 자바는 마치 메소드를 호출하듯이 catch를 호출하면서 그 인자로 Exception 클래스의 인스턴스를 전달

  • catch문은 여러개 설정이 가능하여 경우에 따라 다른 로직설정이 가능
  • eg. catch(ArithmeticException e){}, (ArrayIndexOfBoundsException e){}
  • 즉, else if와 같이 사용이 가능함
    1
    2
    3
    4
    5
    6
    7
    8
    try {
    //예외가 예상되는 로직
    } catch(Exception e) {
    //예외가 발생했을때 실행될 로직
    System.out.println("오류가 발생했습니다 : "+e.getMessage());
    } finally {
    System.out.println("언제나 실행되는 로직");
    }

1) e.getMessage: 간략한 메세지만 출력
2) e.toString(): +예외를 일으킨 이유
3) e.printStackTrace(): +에외의 위치까지

finally

try/catch믄 다음에 나오는 문법으로 예외여부와 관계없이 실행되는 로직