도당탕탕
Item 70 : 회복가능한 상황에서는 checked exception 을 사용하고 프로그래밍 에러일때는 Runtime exception 을 사용하라. 본문
JAVA
Item 70 : 회복가능한 상황에서는 checked exception 을 사용하고 프로그래밍 에러일때는 Runtime exception 을 사용하라.
backlo 2023. 1. 20. 14:51세 가지 유형의 throwables
- checked exception
- 사용자는 반드시 catch문으로 exception을 핸들링 해야한다.
- 사용자는 exception에 대한 해결로직을 구현해야 한다.
- Exception 클래스를 상속받는다.
- unchecked throwable
- 절대 catch 하면 안 된다.
- 보통 exception 회복이 불가능하다고 판단 또는 계속되는 실행이 더 시스템에 악영향을 준다.
- runtime exception
- 결국 현재 스레드가 죽고, 에러를 출력한다.
- 주로 프로그래밍 에러를 나타내기 위해서 사용한다.(예 : ArrayIndexOutOfBounds)
- RuntimeException을 상속받는다.
- error
- error는 보통 JVM이 사용하도록 예약되어 있다.
- 보통 리소스 부족, invariant failure(불변성 실패) 등을 나타낼 때 사용된다.
- Error 클래스를 상속해서 구현해서 만들 수 있으나, 보통 새로 만들지 않는 것이 관습이다.
정리
- recoverable 한 상태이면 checked exception을 던지고, 프로그래밍 에러일 때는 unchecked exception을 던져라.
- 잘 모르겠으면, unchecked exception을 던져라
- runtime exception, checked exception이 아닌 throwable 클래스는 정의하지 마라.
- checked exception의 recovery를 돕기 위해서, 함수를 제공해라
'JAVA' 카테고리의 다른 글
Item72 : 표준 exception을 선호하라. (0) | 2023.01.30 |
---|---|
Item71 : 필요 없는 검사 예외 사용은 피하라 (0) | 2023.01.30 |
Item69 : 예외는 진짜 예외 상황에만 사용하라 (0) | 2023.01.20 |
Item68 : 일반적인 네이밍 컨벤션을 따르라 (2) | 2023.01.19 |
Item67 : 최적화는 신중히 하라 (0) | 2023.01.19 |
Comments