예외 기본 규칙

- 예외는 잡아서 처리하거나 던져야 한다.
- 예외를 잡거나 던질 때 지정한 예외뿐만 아니라 그 예외의 자식들도 함께 처리된다.
예를 들어서 Exception 을 catch 로 잡으면 그 하위 예외들도 모두 잡을 수 있다.
예를 들어서 Exception 을 throws 로 던지면 그 하위 예외들도 모두 던질 수 있다
체크 예외 기본 이해
MyCheckedException 는 Exception 을 상속받았다. Exception 을 상속받으면 체크 예외가 된다
catch 에 MyCheckedException 의 상위 타입인 Exception 을 적어주어도 MyCheckedException 을
잡을 수 있다.
참고로 RuntimeException 을 상속받으면 언체크 예외가 된다. 이런 규칙은 자바 언어에서 문법으로 정한
것이다.
체크 예외를 처리할 수 없을 때는 method() throws 예외 을 사용해서 밖으로 던질 예외를 필수로
지정해주어야 한다.
언체크 예외 기본 이해
- RuntimeException 과 그 하위 예외는 언체크 예외로 분류된다.
- 언체크 예외는 말 그대로 컴파일러가 예외를 체크하지 않는다는 뜻이다.
- 언체크 예외는 체크 예외와 기본적으로 동일하다. 차이가 있다면 예외를 던지는 throws 를 선언하지 않고, 생략할 수 있다. 이 경우 자동으로 예외를 던진다
- 언체크 예외도 필요한 경우 이렇게 잡아서 처리할 수 있다.
체크 예외 활용
기본 원칙은 다음 2가지를 기억하자.