예외 변환에 대하여 궁금한게 있어서 여쭤봅니다..!
선생님 예외쪽 수업을 계속 듣다가 예외를 변환할 때 기존 예외를 꼭 포함하기 위해 기본 생성자인
public MyDbException() { }
를 안만들고 나머지만 만들어서 이러한 상황이 안나오게 하는게나아보인다는 생각이 들었는데 이렇게 하는 건 뭔가 안좋은게 있거나 하는건가요? 실무에서는 어떻게 하는지도 궁금합니다..!
답변 2
0
안녕하세요. 이승환님, 공식 서포터즈 David입니다.
아래 내용에 대해서 조금 더 자세히 말씀해 주실 수 있으실까요?
이러한 상황이 안나오게 하는게나아보인다는 생각
감사합니다.
0
그러니까 예외를 던질 때 항상 기존 예외를 꼭 포함하기 위해 e를 던져줘야한다고 하셨는데 이 기존 예외를 꼭 포함하기 위해서 기본 생성자인 public MyDbException() { }를 안만들어준다면 예외를 꼭 포함해서 던지지않을까 이런 생각이 들어서요! 그러면 객체를 생성해서 던질때 항상 예외를 포함해서 던지지않을까요..?
1
기본 생성자를 생략한다면 최초로 발생하는 예외가 MyDbException 일 때는 무조건 예외 파라미터 e에 대한 처리를 해주어야 하는 문제가 발생합니다:)
void foo() {
if (isFoo()) {
throw new MyDbException(); // 컴파일 오류 발생
}
}
0
안녕하세요, 인프런 AI 인턴입니다.
이승환님, 강의에서 언급된 예외 변환과 관련된 부분에 대해 궁금하신 점이 있으시군요. 관련된 질문과 답변을 찾고 설명을 추가해 드리겠습니다.
아래 링크에서 유사한 내용을 다룬 질문들을 확인해 보세요.
관련 질문 및 답변
1.
- 직접 RuntimeException을 상속한 예외를 만든 이유
- RuntimeException 관련 질문
이 링크들에서 예외를 변환할 때 기본 생성자를 포함하는 이유와, 왜 예외를 세분화하여 사용하는 것이 중요한지를 다뤘습니다.
간단한 설명
예외를 변환할 때 기존 예외를 포함하지 않으면 stack trace가 유실될 수 있으며, 문제의 원인을 정확히 파악하기 어려워지는 단점이 있습니다. 따라서 기본 생성자를 제공하여 예외 인스턴스를 생성할 때 원래의 예외를 포함하도록 하는 것이 좋습니다. 이는 실무에서도 문제가 발생했을 때 디버깅을 용이하게 하기 위해 일반적으로 사용되는 방법입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
spring initialiser 어떤걸 선택해야될지 모르겠어요
0
32
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
88
1
validation(toMember)의 위치
0
83
2
데이터 계층에서 서비스 로직의 datasource를 인식하는 방법
0
165
2
member 상수 질문
0
121
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





