강사님
74
投稿した質問数 42
백엔드 취준생이 고 강의랑 관련 된 내용은 아니지만
강사님 강의를 2개 정도 구매했습니다. 지금 자바로 프로젝트 2개를 한 상태입니다.
로드 맵 이 있어서 듣게 됐습니다.
보통 Error 관련 코드를 만들 때
@ExceptionHandler 로 컨트롤러에서 발생한 에러를 잡고
@ControllerAdvice 가 모든 에러를 잡아서 관리 해 주는 걸로 다른 강의에서 배웠는데
보통 현업에서는 이렇게 하나요? 제가 프로젝트 두 개 모두
이런식으로 enum 과 class 를 따로 만들어서 했는데 현업에서 어떻게 하는 지 궁금해서 질문드립니다.
@Getter
public class BusinessException extends RuntimeException {
private final HttpStatus status;
private final ErrorCode errorCode;
public BusinessException(ErrorCode errorCode) {
super(errorCode.getMessage());
this.status = errorCode.getErrorCode();
this.errorCode = errorCode;
}
public BusinessException(HttpStatus status, ErrorCode errorCode, String message, Throwable cause) {
super(message, cause);
this.status = status;
this.errorCode = errorCode;
}
public BusinessException(HttpStatus status, String message) {
super(message);
this.status = status;
this.errorCode = null;
}
}
@Getter
@AllArgsConstructor
public enum ErrorCode {
TOKEN_NOT_FOUND(HttpStatus.BAD_REQUEST, "토큰이 없습니다."),
JWT_EXPIRED(HttpStatus.BAD_REQUEST, "jwt 토큰이 만료되었습니다. "),
INVALID_JWT(HttpStatus.BAD_REQUEST, "jwt 토큰을 찾을 수 없습니다."),
ACCEPTED_EXISTS(HttpStatus.CONFLICT, "팔로우를 찾을수없습니다."),
FOLLOW_NOT_FOUND(HttpStatus.CONFLICT, "팔로우를 찾을수없습니다."),
INVALID_FOLLOW_STATUS(HttpStatus.CONFLICT, "팔로우상태가 아닙니다."),
AGREEMENT_INPUT(HttpStatus.CONFLICT, "약관 동의가 필요합니다."),
INVALID_EMAIL_INPUT(HttpStatus.BAD_REQUEST, "해당 이메일은 소셜 로그인 계정입니다. 소셜 로그인을 이용하세요."),
DUPLICATE_RESOURCE(HttpStatus.FORBIDD
回答 1
0
안녕하세요! KMC님~ ☺ 좋은 질문 이시네요~
결론부터 말씀드리면 예외 클래스를 적절하게 다루고 있으신 것 같아요! 저 역시 custom exception class가 계속해서 생기는 것 보다는 하나의 예외 클래스와 예외 case를 다루는 enum의 조합을 선호하는 편입니다
물론 던져진 예외를 말씀해주신 ControllerAdvice에서 잡게 되고요~
보다 디테일하게는 예외 경우를 어떻게 나눌지 표준 예외와 custom 예외를 언제 어떻게 사용할지 등도 고민해보시면 좋을 것 같습니다.
현업에서는 개발자 분마다 성향이 다르셔서 무조건 정해진 규칙은 없는 것 같아요! 답변이 도움이 되었으면 좋겠습니다. 감사합니다~ 🙏
수업노트
0
53
1
싱글톤과 스프링
0
71
2
get() = 3
0
49
2
강의 복습하면서 생긴 질문
1
94
1
Kotlin과 Java의 현업에서의 활용
0
124
2
data class와 자바의 Lombok을 이용한 DTO 클래스 차이 질문
0
74
1
코틀린에서 상속 시, 주의점에 대한 질문
1
95
3
내용 이해 질문
0
56
1
자바와 코틀린의 함수형 프로그래밍,
1
91
1
플랫폼 타입 설명 문의
2
76
2
널 아님 단언 관련 질문
0
83
1
강의 중 질문
0
79
2
범위 비교 질문
1
91
2
타입캐스팅 궁금한점 질문드립니다.
1
239
2
코틀린 val 질문
0
166
2
완강 후 Kotlin 이런저런 질문 드려봅니다!
3
408
2
확장함수 스타일 질문
0
139
2
확장 프로퍼티 질문
1
156
1
update 함수를 만든다는게 어떤 의미인지 예시가 궁금합니다!
1
283
1
java class의 NotNull 어노테이션 인식
1
262
1
[16강] 확장함수 관련 질문입니다!
1
131
2
리턴타입 사용시 any를 사용해도 괜찮은가요?
1
139
1
안녕하세요 scope function 에 receiver 가 없는 경우
1
169
1
코틀린 싱글톤 질문
1
219
1

