Skip to content

[BE] API 예외 처리 방식

Minky edited this page Sep 28, 2024 · 1 revision

예외 처리 규칙

API 에러 코드

변경 예정

백엔드 예외 처리 방법

  1. ApiErrorCode.java 에 관련 코드를 추가해주세요.
  2. 새로운 ApiException 추가 방법
public class ApiUserException extends ApiException {

    private ApiUserException(ApiErrorCode errorCode) { super(errorCode); }

    /**
    * TODO: Static Factory Method
    * */
    public static ApiUserException USER_NOT_FOUND() {
	return new ApiUserException(ApiErrorCode.USER_NOT_FOUND);
    }
}

ApiExeption = unchecked exception

각 기능마다 ApiException을 상속받아 구현합니다.

이름은 Api{도메인명}Exception 규칙을 따릅니다.

예를 들어 User 기능 구현을 할 경우, ApiUserException을 구현합니다.

CustomException = checked exception

예외 이름은 각자 자유입니다. 반드시 내부에서 try catch를 통해 예외를 잡도록 구현합니다.

(1) Http 응답으로 전달될 예외

백엔드 코드
public class Api{기능명}Exception extends ApiException {...}
프론트엔드 전달 방식
{
    code: 'OA-001' // 에러 코드
    message: '중복 로그인 시도' // 예외 제목
}

(2) 사용자에게 전달하지 않는 내부 예외 (서버 에러)

public class {명명은 자유} extends Exception {...}

내부에서 try catch로 처리해주세요.