exception filter

throw된 예외는 필터를 거쳐 일관된 응답이 된다

서비스나 컨트롤러에서 예외가 발생하면 NestJS는 이를 잡아 HTTP 상태와 응답 본문으로 변환한다. 필터는 이 변환 규칙을 커스터마이즈하는 지점이다.

핵심 역할: 예외 객체 → HTTP 응답사용자에게 보일 오류 형식을 한곳에서 맞춘다.

전후 비교로 보는 핵심 차이

before필터 없음

기본 응답은 빠르지만 서비스별 오류 형식이 제각각이 되기 쉽다.

throw new NotFoundException()
after필터 적용

도메인 오류도 같은 응답 계약으로 변환되어 프론트엔드 처리가 단순해진다.

{ statusCode, code, message, path }

예외가 응답이 되는 흐름

1Throw

컨트롤러 또는 서비스에서 HttpException이나 도메인 예외를 던진다.

2Catch

예외 필터가 예외와 요청 문맥을 함께 받는다.

3Map

statusCode, message, path, timestamp 같은 응답 필드를 만든다.

4Send

클라이언트가 처리할 수 있는 JSON 응답으로 보낸다.