inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 DB 1편 - 데이터 접근 핵심 원리

예외 포함과 스택 트레이스

체크 예외 -> 언체크 예외 전환 시 질문

해결된 질문

517

종운

작성한 질문수 21

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
안녕하세요 체크 예외를 런타임 예외로 변환하는 과정에서 강의의 예시에서는 ConnectException을 RuntimeConnectException으로, SQLException은 RuntimeSQLException으로 변경해서 throws가 전파되는 것을 막는 모습을 볼 수 있었는데요.
이런 상황에 있을 때, SQLException이나, ConnectException같은 경우는 예외가 발생했을 때 애플리케이션 단에서 처리를 못하니, 예외 문서에 작성해두고, 예외를 잡지 말고 발생하게두나요? Controller 사용중이라면 ControllerAdvice를 통해서 해결을 하면 될텐데, Rest API를 사용중이라면 RestControllerAdvice에서 ExceptionHandler를 통해 예외를 잡지 않고 강의에서 말씀하신 것처럼 500으로 던지는 지가 궁금합니다.
강의의 초점이 막을 수 없는 체크 예외가 발생했을 때 이를 throws를 통해 전파하기보다 런타임 예외로 바꿔서 예외 문서를 잘 처리해서 깔끔한 코드를 만들자로 이해하면 되는 걸까요?

spring

답변 1

3

David

안녕하세요. 종운님, 공식 서포터즈 David입니다.

API 서버를 구현할 때도 웹과 동일하게 구현합니다.

케이스마다 다르겠지만 예외가 발생한 경우 적절한 메시지와 함께 500 에러를 반환하도록 합니다.

예외를 전환하는 이유 중 하나는 복구할 수 없는 체크 예외 발생시, 계속해서 호출된 곳으로 예외처리를 강제(던지거나 잡거나)하지 않기 위함입니다.

감사합니다.

0

종운

말끔하게 이해됐습니다 감사합니다!

spring initialiser 어떤걸 선택해야될지 모르겠어요

0

31

2

트랜잭션 템플릿이 체크예외는 커밋하는 이유가 궁금합니다.

0

51

1

jdbc 학습하다 궁금해서 질문드려요

0

82

1

정상이체와 이체중 예외발생 차이

0

68

2

이번 강의부터가 JDBC 직접 사용 맞나요?

0

88

1

순수한 서비스 계층에 대한 의문???

0

82

2

3_4test, 4test 자동 리소스 안됨

0

58

2

데이터베이스 선택 관련 질문.

0

68

2

after 메서드 사용 유무

0

57

2

데이터베이스 접근 및 DB 락

0

55

1

@SpingBootTest, @TestConfiguration

0

56

1

Read Committed 격리 수준 사용 관련 질문

0

48

1

AopCheck Test 부분의 EnhancerBySpring 확인 법??

0

66

2

커리큘럼 관련 질문

0

76

1

서비서 계층 스프링 프레임워크 사용

0

87

1

validation(toMember)의 위치

0

83

2

데이터 계층에서 서비스 로직의 datasource를 인식하는 방법

0

165

2

member 상수 질문

0

120

2

ctrl + F6 이후로 con 인식이 안 됩니다

0

153

2

DrivenManager 와 Connection 반환에 대한 질문입니다!

0

109

1

섹션5 트랜잭션 템플릿관련 질문(이기종 DB)

0

116

1

세션1 테이블 조회결과 그림은 Redo 로그에 속하나요?

0

100

1

트랜잭션이 필요하지 않은 경우 DB 대신 파일 시스템을 사용하는 것이 더 효율적인가?

0

98

1

강의 14분쯤 Exception 질문

0

115

2