인프런 커뮤니티 질문&답변

마이티님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

25강. Spring Data JPA를 이용해 자동으로 쿼리 날리기

orElseThrow에 관해서

작성

·

77

1

안녕하세요

강의 11:15초에 있는 예외 던지는 것에 대해서 질문이 있습니다.

orElseThrow로 테이블에 데이터 없는 경우 예외가 터진다고 하셨는데 예외처리는 따로 안 해도 되는 건가요?

답변 1

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요 마이티님! 🙂 정말 좋은 질문 감사드립니다.

 

결론부터 말씀드리면 상황에 따라 추가적인 예외 처리가 필요한 것이 맞고, 실무에서는 대부분 경우 추가적인 예외 처리를 하는 편입니다.

이와 관련해서는 @RestControllerAdvice 를 찾아보시면 더 많은 정보를 얻으실 수 있습니다.

 

 

다만 "예외 처리"라는 것 자체가 요구사항에 의존적이라는 것은 말씀드리고 싶습니다! 😊

예를 들어 저희가 강의에서 구성한 간단한 도서관리 사이트는

  • 에러가 발생했을 때 "서버에서 에러가 발생했습니다"와 같은 에러만 띄워주면 되었고

이런 요구사항을 처리하기 위해서는

 

  • 서버에서는 데이터가 없는 예외적인 상황에 HTTP 응답 status를 200이 아닌 값으로 보내주고

  • 클라이언트에서는 응답 status가 200이 아닌 값일 때 alert을 띄워주면 되기에

이 역시 "예외 처리"를 했다고 할 수 있습니다.

 

 

다만 만약 요구사항이 다르면 또 다른 예외처리가 적절하게 필요하죠. 예를 들어

  • 로그인을 했을 때 아이디가 없는 것인지

  • 비밀번호가 틀린 것인지

구분하고 싶다면 지금 방식으로는 둘을 구분할 수 없기에 다른 방식이 필요합니다.

 

답변이 도움이 되었으면 좋겠습니다.

감사합니다! 🙏