개발 일지

[생각 정리] Java :: CheckedException은 필요한 것일까 본문

생각 정리

[생각 정리] Java :: CheckedException은 필요한 것일까

junjun_ 2022. 11. 8. 01:25

https://jueun275.tistory.com/entry/Java-Checked-Exception-Unchecked-Exception-Error

 

[Java] Error, Checked Exception, Unchecked Exception

중복아이디 확인 코드를 작성하다가 IllegalArgumentException 을 IllegalAccessException 로 타이핑을 하게 되었는데 IllegalAccessException 은 IllegalArgumentException과는 다르게 throws Exception을 작성하지 않으면 빨간

jueun275.tistory.com

 

Checked exception과 Unchecked exception을 정리한 후 궁금한 점이 생겼다. 그렇다면 어떤 Exception을 사용하는 것이 더 좋은 좋은 코드일까?  이 문제에 대해서는 예전부터 많은 토론들이 있었다. 

CheckedException보단 RuntimeException을 사용해라  VS CheckedException은 꼭 필요하다, 잘 쓰면 좋다의 양쪽의견이 있는거 같다.  Checked exception을 쓰지 말자는 의견 쪽에는 

"checked exception은 Open/Closed 원칙을 어긴다" 

"checked exception보다
RuntimeException을 extends하여 사용자 정의 예외 클래스를 생성해라"

"transaction관점에서 스프링 기본 전략은
checked exception은 발생해도 commit 되고,  unchecked는 rollback 된다"


등등 의견들이 있는데 아직은 깊이 들어가면 내용이 정리가 안된다.. 일단은 RuntimeException을 위주로 사용거나RuntimeException을 extends해서 사용자 정의 예외 클래스를 생성하는 식으로 Exception을 처리 하고 transactional 관련내용까지 천천히 읽어봐야 할 것 같다. 언젠가 위 내용을 잘 이해할 수 있고 상황에 맞게 쓸 수 있기를! 

 

 

혹시 이 글을 읽는 분들 중에 관련된 내용을 잘 알고 계신 분이 있으시면 댓글로 설명해 주시면 감사하겠습니다!