金色时刻 · 15:48
让好资源,触手可及
AGENT SKILL

error-handling

error-handling 是面向效率工具的 Agent Skill,来自 HoangNguyen0403/agent-skills-standard。查看技能说明、操作步骤与使用约定,并通过原项目了解详细用法。

Global Exception Filters and standard error formats.

SKILL.md

下载 MD ↓
nameNestJS Error Handling
descriptionGlobal Exception Filters and standard error formats.
metadata{"labels": ["nestjs", "errors", "filters"], "triggers": {"files": ["**/*.filter.ts", "main.ts"], "keywords": ["ExceptionFilter", "Catch", "HttpException"]}}

NestJS Error Handling Standards

Priority: P1 (OPERATIONAL)

Global error handling and exception management patterns.

  • Requirement: Centralize error formatting.
  • Platform Agnostic: Do not import Request/Response from Express/Fastify types directly.
  • Use: HttpAdapterHost to access the underlying platform response methods.
  • const { httpAdapter } = this.httpAdapterHost;
  • Structure:
  • Implement strictly typed error responses.
  • Refer to API Standards for ApiErrorResponse.

json { "statusCode": 400, "message": "Validation failed", "error": "Bad Request", "timestamp": "ISO...", "path": "/users" }

Error Flow

  1. Service: Throws specific or generic errors (e.g., EntityNotFoundError).
  2. Interceptor: Maps low-level errors to HTTP Exceptions (e.g., catchError(err => throw new NotFoundException())). - Why: Keeps Exception Filters focused on formatting, not business logic interpretation.
  3. Global Filter: Formats the final JSON response.

Built-in Exceptions

  • Use: Throw NotFoundException, ForbiddenException, BadRequestException.
  • Custom: Extend HttpException only for domain-specific failures that need specific status codes.

Logging

  • Context: Always pass MyClass.name to the Logger constructor.
  • Levels:
  • error: 500s (Stack trace required).
  • warn: 400s (Client errors).

Security (Information Leakage)

  • Production: NEVER expose stack traces in HTTP responses (process.env.NODE_ENV === 'production').
  • Sanitization: Ensure ApiException payloads do not leak internal file paths or raw variable dumps.

来源:HoangNguyen0403/agent-skills-standard · MIT 许可 · 许可原文 · MD 为来源页保存的历史版本