repository의 예외를 , service, controller에서도 명시해야한다.
이로 인해, service, controller에서 해당 예외에 의존하게 됨
-> 예를 들어, repository가 jdbc 대신 jpa를 사용하면, service, controller에서 예외 변경하는 경우가 생긴다!!
결론
이런 이유로 런타임 예외를 사용하는 편
대신, 문서화를 통해 어떤 예외를 던지는지 잘 적어두는 것이 중요!!!
⚠️ 중요한 점!
체크 예외를 런타임 예외로 바꿔줄 때, 기존 예외를 꼭 포함해서 넘겨줘야한다!
그래야 개발자가 정확한 원인을 파악할 수 있음.
Throwable 생성자 만들어서 가능!