본문 바로가기
프로젝트 이슈

RunGuard 개발 예외처리

by BIGENGINEER 2026. 7. 8.

예외처리에 대해 알아보자

 

예외처리

- 프로그램 실행 중에 문제 발생했을 때 서버가 그냥 터지지 않도록 하는 것

 

Controller와 Service에서 예외 발생

1. CustomException 발생

2. GlobalExceptionHandler가 예외를 잡음

3. ErrorCode에서 상태코드와 메세지를 가져옴

4. ErrorResponse 형태로 응답 반환

 

 


 

1. ErrorCode

- 예외 종류를 미리 정리해둔 목록

- 보통 enum으로 생성

=> USER_NOT_FOUND(HttpStatus.NOT_FOUND, "회원을 찾을 수 없습니다.")

 

 

2. CustomException

- 직접 만든 예외 클래스

- 보통 ErrorCode를 가짐

 => throw new CustomException(ErrorCode.USER_NOT_FOUND);

 

 

3. GlobalExceptionHandler

- 프로젝트 전체에서 발생한 예외를 한 곳에서 잡아주는 클래스 

- 보통 @RestControllerAdvice를 붙임

 

=> @ExceptionHandler(CustomException.class)

: CustomException이 발생하면 이 메서드가 처리한다는 의미 

 

 

 

4. ErrorResponse

- 클라이언트에게 내려줄 에러 응답 모양