[TIL] 체크 / 언체크(런타임) 예외 이해

Kim yohan·2024년 9월 22일
0

TIL

목록 보기
18/20

예외 계층

  • Error
    • 복구 불가능한 문제
    • 잡으려고 하면 안됨
  • Exception
    • 체크 예외
      • 컴파일러가 체크
    • 언체크 예외(런타임 예외)
      • 컴파일러가 체크 안함

체크 예외

  • 장점

    • 컴파일러가 예외를 잡아주기 때문에, 개발자가 미리 대처할 수 있어서 안전하다!
  • 단점

    • repository의 예외를 , service, controller에서도 명시해야한다.
      이로 인해, service, controller에서 해당 예외에 의존하게 됨
      -> 예를 들어, repository가 jdbc 대신 jpa를 사용하면, service, controller에서 예외 변경하는 경우가 생긴다!!
  • 결론

    • 이런 이유로 런타임 예외를 사용하는 편
    • 대신, 문서화를 통해 어떤 예외를 던지는지 잘 적어두는 것이 중요!!!

⚠️ 중요한 점!
체크 예외를 런타임 예외로 바꿔줄 때, 기존 예외를 꼭 포함해서 넘겨줘야한다!
그래야 개발자가 정확한 원인을 파악할 수 있음.
Throwable 생성자 만들어서 가능!

profile
꾸준히 성실하게

0개의 댓글