NestJS는 서버 측 애플리케이션을 구축하는 강력하고 유연한 방법을 제공하는 널리 사용되는 Node.js 프레임워크입니다.
NestJS의 주요 기능 중 하나는 개발자가 애플리케이션의 런타임 중에 발생할 수 있는 오류 및 예외를 적절하게 처리할 수 있도록 하는 예외 처리 메커니즘입니다.
NestJS는 개발자가 다양한 유형의 오류를 처리하는 데 사용할 수 있는 몇 가지 기본 제공 예외를 제공합니다.
이러한 예외는 HTTP 예외와 비HTTP 예외의 두 가지 유형으로 나뉩니다.
HTTP 예외: HTTP 예외는 HTTP 요청 및 응답과 관련된 오류를 처리하는 데 사용됩니다.
NestJS는 다음 HTTP 예외를 발생시킵니다.
- BadRequestException: 이 예외는 클라이언트가 잘못된 요청을 보낼 때 발생합니다.
- UnauthorizedException: 이 예외는 클라이언트가 요청된 리소스에 액세스할 수 있는 권한이 없을 때 발생합니다.
- NotFoundException: 이 예외는 요청한 리소스를 찾을 수 없을 때 발생합니다.
- ForbiddenException: 이 예외는 클라이언트가 요청된 리소스에 액세스할 수 있는 충분한 권한이 없을 때 발생합니다.
- MethodNotAllowedException: 이 예외는 클라이언트가 지원되지 않는 HTTP 메서드를 사용하여 요청을 보낼 때 발생합니다.
- NotAcceptableException: 이 예외는 클라이언트가 지원되지 않는 미디어 유형으로 요청을 보낼 때 발생합니다.
- RequestTimeoutException: 이 예외는 클라이언트 요청을 완료하는 데 너무 오래 걸리는 경우 발생합니다.
- ConflictException: 이 예외는 요청된 작업이 기존 리소스와 충돌할 때 발생합니다.
- GoneException: 이 예외는 요청된 리소스를 더 이상 사용할 수 없을 때 발생합니다.
- PayloadTooLargeException: 이 예외는 클라이언트가 서버의 크기 제한을 초과하는 페이로드가 있는 요청을 보낼 때 발생합니다.
- UnsupportedMediaTypeException: 이 예외는 클라이언트가 지원되지 않는 미디어 유형으로 요청을 보낼 때 발생합니다.
- UnprocessableEntityException: 이 예외는 클라이언트가 서버가 처리할 수 없는 페이로드가 포함된 요청을 보낼 때 발생합니다.
- InternalServerErrorException: 이 예외는 서버에 예기치 않은 오류가 발생했을 때 발생합니다.
- NotImplementedException: 이 예외는 기능이 아직 구현되지 않은 경우 발생합니다.
- BadGatewayException: 이 예외는 게이트웨이 또는 프록시 역할을 하는 서버가 업스트림 서버에서 잘못된 응답을 받을 때 발생합니다.
- ServiceUnavailableException: 이 예외는 서버를 사용할 수 없거나 과부하 상태일 때 발생합니다.
비 HTTP 예외: 비 HTTP 예외는 HTTP 요청 및 응답과 관련되지 않은 오류를 처리하는 데 사용됩니다.
NestJS는 다음과 같은 HTTP가 아닌 예외를 발생시킵니다.
- NotFoundException: 이 예외는 요청한 리소스를 찾을 수 없을 때 발생합니다.
- BadRequestException: 이 예외는 클라이언트가 잘못된 요청을 보낼 때 발생합니다.
- UnauthorizedException: 이 예외는 클라이언트가 특정 작업을 수행할 수 있는 권한이 없을 때 발생합니다.
- ForbiddenException: 이 예외는 클라이언트에 특정 작업을 수행할 수 있는 권한이 없을 때 발생합니다.
- NotAcceptableException: 이 예외는 서버가 요청된 형식으로 응답을 제공할 수 없을 때 발생합니다.
- InternalServerErrorException: 이 예외는 서버에 예기치 않은 오류가 발생했을 때 발생합니다.
- NotImplementedException: 이 예외는 기능이 아직 구현되지 않은 경우 발생합니다.
- UnprocessableEntityException: 이 예외는 잘못된 데이터로 인해 서버에서 요청을 처리할 수 없을 때 발생합니다.
- GatewayTimeoutException: 이 예외는 게이트웨이 또는 프록시가 업스트림 서버의 응답을 기다리는 시간이 초과될 때 발생합니다.