1、nest.js的异常处理
Nest 框架内部实现了一个异常处理层,专门用来负责应用程序中未处理的异常。
nest.js内置的异常类有:
BadRequestException
UnauthorizedException
NotFoundException
ForbiddenException
NotAcceptableException
RequestTimeoutException
ConflictException
GoneException
HttpVersionNotSupportedException
PayloadTooLargeException
UnsupportedMediaTypeException
UnprocessableEntityException
InternalServerErrorException
NotImplementedException
ImATeapotException
MethodNotAllowedException
BadGatewayException
ServiceUnavailableException
GatewayTimeoutException
PreconditionFailedException
但是这些类全部继承于 HttpException, 所以通常我们抛出异常的写法有如下方法
@Get('test') public getTest() { throw new HttpException( { status: HttpStatus.FORBIDDEN, //这里面的字段都是定制字段 error: 'This is a custom message', data: [] }, HttpStatus.NOT_FOUND //http码 ); // throw new HttpException('error', HttpStatus.PARTIAL_CONTENT); // throw new ForbiddenException(); //禁止访问错误, 参数1表示message, 参数2是一个error, 直接使用内置的异常类 }
注意: 可以使用HttpException进行异常的抛出,也可以使用内置的方法进行异常的抛出