Skip to content
Development
Skill

/nestjs-error-handling

Implement Global Exception Filters and standard error formats in NestJS. Use when implementing global exception filters or standardizing error responses in NestJS.

From plugin
agent-skills-standard
538200 skills1 MCP
Install
$ npx -y skills add hoangnguyen0403/agent-skills-standard --skill nestjs-error-handling --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/nestjs-error-handling

Context preview

The summary Claude sees to decide when to auto-load this skill.

Implement Global Exception Filters and standard error formats in NestJS. Use when implementing global exception filters or standardizing error responses in NestJS.

SKILL.md

nestjs-error-handling.SKILL.md
name: nestjs-error-handling
description: Implement Global Exception Filters and standard error formats in NestJS. Use when implementing global exception filters or standardizing error responses in NestJS.
metadata:
  triggers:
    files:
    - '**/*.filter.ts'
    - 'main.ts'
    keywords:
    - ExceptionFilter
    - Catch
    - HttpException

NestJS Error Handling Standards

**Priority: P1 (HIGH)**

  • **Requirement**: Centralize error formatting.
  • **Platform Agnostic**: **not** import `Request`/`Response` from Express/Fastify types directly.
  • **Use**: `HttpAdapterHost` to access underlying platform response methods.
  • `const { httpAdapter } = this.httpAdapterHost;`
  • **Structure**:
  • Implement strictly typed error responses.
  • Refer to **[API Standards](../nestjs-api-standards/SKILL.md)** for `ApiErrorResponse`.
  {
    "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 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 `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 not leak internal file paths or raw variable dumps.

Anti-Patterns

  • **No stack traces in production**: Gate stack exposure behind `NODE_ENV === 'production'` check.
  • **No Express types in filters**: Use `HttpAdapterHost` for platform-agnostic error handling.
  • **No HttpException in services**: Throw domain errors in services; let Interceptors map to HTTP exceptions.

Canonical response anchors

  • Additional task-grounded exact anchors: sanitiz
Read more
Ships withagent-skills-standard

The portable SDLC standards layer for AI coding agents. Sync once, then work in your own runtime.

Get the whole plugin

Other skills on agent-skills-standard.