inflearn logo
강의

講義

知識共有

Java開発者向けのコトリン入門(Java to Kotlin Starter Guide)

강사님

74

KMC

投稿した質問数 42

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 객체지향

回答 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