Unchecked exception 는 런타임 예외를 상속받는 예외이고 Checked exception는 그 외의 예외들을 말합니다.
Checked exception 는 컴파일 시점에 확인되므로 예외 처리(try catch 처리를 하거나 throws 를 명시) 가 강제됩니다.
Checked exception의 본래 의도는 예외가 발생하면 발생한 지점에서 해결하고자 함입니다. 그렇기 때문에 예외 발생 시 트랜잭션이 롤백되지 않습니다. 반대로 Unchecked exception 은 롤백됩니다.
다만, Checked exception 을 실제로는 발생 지점에서 해결할 수 있는 경우가 많지 않아 예외를 상위로 던지는 경우가 빈번하게 일어납니다.
또, 예외를 던진다는 것을 명시해줘야하므로 코드량이 많아지고, 호출한 메서드가 던지는 예외를 사용하는 측에서 알게되는 것은 캡슐화를 어긴다고 볼 수 있으므로 사용을 지양합니다.
'이론 > Java' 카테고리의 다른 글
오버로딩과 오버라이딩 (0) | 2022.11.22 |
---|---|
원시 타입과 참조 타입 (0) | 2022.11.22 |
BufferedReader, BufferedWriter 사용 후 close 해야하는 이유 (0) | 2022.11.22 |
상수와 static final (0) | 2022.11.22 |
final 키워드 헷갈리는 부분 정리 (0) | 2021.11.11 |