nestjs-error-handling
Global Exception Filters and standard error formats.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
NestJS Error Handling Standards
Priority: P1 (OPERATIONAL)
Global error handling and exception management patterns.
-
Requirement: Centralize error formatting.
-
Platform Agnostic: Do not import
Request/Responsefrom Express/Fastify types directly.-
Use:
HttpAdapterHostto access the underlying platform response methods. -
const { httpAdapter } = this.httpAdapterHost;
-
Use:
-
Structure:
- Implement strictly typed error responses.
- Refer to API Standards for
ApiErrorResponse.
{ "statusCode": 400, "message": "Validation failed", "error": "Bad Request", "timestamp": "ISO...", "path": "/users" }
Error Flow
-
Service: Throws specific or generic errors (e.g.,
EntityNotFoundError). -
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.
- Global Filter: Formats the final JSON response.
Built-in Exceptions
-
Use: Throw
NotFoundException,ForbiddenException,BadRequestException. -
Custom: Extend
HttpExceptiononly for domain-specific failures that need specific status codes.
Logging
-
Context: Always pass
MyClass.nameto theLoggerconstructor. -
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
ApiExceptionpayloads do not leak internal file paths or raw variable dumps.
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-26
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!