1. Exception 이란
- 예외는 개발자가 구현한 로직에서 발생
- 즉, 미리 예측해서 처리할 수 있다
2. 예외클래스
image
출처 : http://www.nextree.co.kr/p3239/
- 모든 Exception은 Throwable 클래스를 상속
- 구별해야할 클래스는 Cheched Exception과 RuntimeException
둘의 차이점은 다음과 같다
Checked Exception
- 반드시 예외 처리를 해야 함
- 컴파일 단계에서 확인
- 예외발생 시, transaction 은 그대로
- 예) IOException, SQLException 등..
Runtime Exception
- 명시적인 처리를 강제하지 않음
- 실행 후 확인
- 예외발생 시, transaction 은 roll-back
- 예) NullPointerException, IndexOutOfBoundException 등..