예외 떠넘기기
리턴타입 메소드명(아규먼트 리스트) throws Exception 클래스명1, Exception클래스명2 ... {
코드1
코드2
...
}
코드에서 발생하는 오류를 divide메소드에서 처리하지 않고,
이를 호출하는 곳에서 떠넘길 수 있다.
divide 메소드 뒤에 throws를 써준다.
divide를 호출하는 클래스에서 예외 처리를 해준다.
RuntimeException과 Checked Exception
CheckedException
RuntimeException 예제
실행시키면 실행시에 오류가나서 종료가 된다.
위의 사진을 보면 RuntimeException이 없다.
RuntimeException 이 없는것을 CheckedException 이라고 한다.
예외 처리를 해주자
thorws를 이용해보자.
위 그림의 문제점은 책임을 JVM에 넘겨서 오류가 발생시 프로그램이 종료된다는 것이다.
정리
다중 Exception 처리
위의 코드를 실행시키면, 어디서 오류가 발생할까?
ArrayIndexOfBoundsException도 ArrayIndex의 범위에 관련된 오류가 발생하면 오류 메세지를 전달해 준다.
그 외의 오류는 Exception을 이용해 처리할 수 있다.
가급적이면 Exception종류에 따라 예외처리를 해주는 것이 좋다.
사용자 정의 Exception