@nestjs/common知识汇总


@nestjs/common 的过滤器 Exception 有哪些

@nestjs/common 中,异常过滤器(Exception Filters)用于处理应用程序中的异常。NestJS 提供了一些内置的异常类,你可以使用这些异常类来抛出特定类型的错误。以下是一些常见的异常类:

1. HttpException

这是 NestJS 中的基本 HTTP 异常类。你可以使用它来抛出 HTTP 错误,并指定状态码和错误消息。

import { HttpException, HttpStatus } from "@nestjs/common";

throw new HttpException("Forbidden", HttpStatus.FORBIDDEN);

2. BadRequestException

用于表示请求参数无效或请求格式错误的异常。其 HTTP 状态码为 400。

import { BadRequestException } from "@nestjs/common";

throw new BadRequestException("Invalid request data");

3. UnauthorizedException

用于表示未授权访问的异常。其 HTTP 状态码为 401。

import { UnauthorizedException } from "@nestjs/common";

throw new UnauthorizedException(
  "You are not authorized to access this resource"
);

4. NotFoundException

用于表示请求的资源未找到的异常。其 HTTP 状态码为 404。

import { NotFoundException } from "@nestjs/common";

throw new NotFoundException("Resource not found");

5. ForbiddenException

用于表示禁止访问的异常。其 HTTP 状态码为 403。

import { ForbiddenException } from "@nestjs/common";

throw new ForbiddenException("Access denied");

6. ConflictException

用于表示请求冲突的异常。其 HTTP 状态码为 409。

import { ConflictException } from "@nestjs/common";

throw new ConflictException("Resource already exists");

7. InternalServerErrorException

用于表示服务器内部错误的异常。其 HTTP 状态码为 500。

import { InternalServerErrorException } from "@nestjs/common";

throw new InternalServerErrorException("Internal server error");

8. NotAcceptableException

用于表示请求的内容类型不被接受的异常。其 HTTP 状态码为 406。

import { NotAcceptableException } from "@nestjs/common";

throw new NotAcceptableException("Not acceptable content type");

9. PayloadTooLargeException

用于表示请求的负载过大的异常。其 HTTP 状态码为 413。

import { PayloadTooLargeException } from "@nestjs/common";

throw new PayloadTooLargeException("Payload too large");

10. UnsupportedMediaTypeException

用于表示不支持的媒体类型的异常。其 HTTP 状态码为 415。

import { UnsupportedMediaTypeException } from "@nestjs/common";

throw new UnsupportedMediaTypeException("Unsupported media type");

总结

NestJS 提供了多种内置异常类,允许开发者根据不同的错误情况抛出相应的异常。这些异常类不仅提供了状态码和错误消息,还可以帮助你更好地管理和处理应用程序中的错误。通过使用这些异常类,你可以提高应用程序的可维护性和可读性。


文章作者: 弈心
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 弈心 !
评论
  目录