inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hướng dẫn dành cho người mới bắt đầu sử dụng Java và Kotlin

강사님

74

KMC

42 câu hỏi đã được viết

0

백엔드 취준생이 고 강의랑 관련 된 내용은 아니지만

강사님 강의를 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

java kotlin 객체지향

Câu trả lời 1

0

lannstark

안녕하세요! KMC님~ 좋은 질문 이시네요~

결론부터 말씀드리면 예외 클래스를 적절하게 다루고 있으신 것 같아요! 저 역시 custom exception class가 계속해서 생기는 것 보다는 하나의 예외 클래스와 예외 case를 다루는 enum의 조합을 선호하는 편입니다

물론 던져진 예외를 말씀해주신 ControllerAdvice에서 잡게 되고요~

 

보다 디테일하게는 예외 경우를 어떻게 나눌지 표준 예외와 custom 예외를 언제 어떻게 사용할지 등도 고민해보시면 좋을 것 같습니다.

현업에서는 개발자 분마다 성향이 다르셔서 무조건 정해진 규칙은 없는 것 같아요! 답변이 도움이 되었으면 좋겠습니다. 감사합니다~ 🙏

1

KMC

감사합니다.

수업노트

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