https://velog.io/@soyeon207/%EC%9E%90%EB%B0%94-Checked-Exception-Unchecked-Exception
# 중요
Checked Exception 은 에러처리 하지 않았을 때 오류
Unchecked Exception 은 에러처리 하지 않아도 오류 X
=> 여기서 Checked Exception 을 잡아줄 수 있는 방법 3가지.
1. Add exception to method signature
2. Surreound with try/catch
3번 째 방법은 잘 사용하지 않는다.
[ @Transactional의 롤백 처리 ]
Java에는 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception)가 있다. 두 가지 예외 종류를 구분하는 것이 중요한 이유는 트랜잭션 롤백 범위가 다르기 때문이다. 체크 예외란 Exception 클래스 하위 클래스이며, 언체크 예외란 Exception 하위의 RuntimException 하위의 예외이다.
스프링의 선언적 트랜잭션(@Transactional) 안에서 예외가 발생했을 때, 해당 예외가 언체크 예외(런타임 예외)라면 자동적으로 롤백이 발생한다. 하지만 체크 예외라면 롤백이 되지 않는다. 체크 예외를 롤백시키기 위해서는 @Transactional의 rollbackFor 속성으로 해당 체크 예외를 적어주어야 한다.
-> RuntimeException (Unchecked Exception) 터트리는게 롤백이 가능하여 더 좋다.
꾸준히 다시보자.
1. 220912
2. 220930
3. 221023
'새롭게 쌓은 지식' 카테고리의 다른 글
여러 프로그래밍 팁 (0) | 2022.09.10 |
---|---|
Java 제네릭 super, extends, ? (0) | 2022.09.09 |
Java Enum에 대해 (0) | 2022.09.07 |
Cloneable 의 clone() (0) | 2022.08.28 |
MVC @ 기능 정리 (0) | 2022.08.26 |