Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Filtre Globale de Excepții (Global Exception Filters) în NestJS

pipeline NestJS 10.x / TypeScript 5+ Q&A / Distribuie cod

Centralizarea capturării tuturor erorilor neprevăzute din aplicație și formatarea unui răspuns de eroare unificat pentru clienți.

Sintaxă
app.useGlobalFilters(new AllExceptionsFilter()) / @Catch()

În timp ce filtrele specifice interceptează anumite excepții particulare, un Global Exception Filter decorat cu @Catch() (fără argumente) capturează absolut orice eroare sau excepție nearuncată din aplicație.

Aceasta previne blocarea procesului Node.js, ascunde detaliile interne tehnice (stack trace-ul) de utilizatorii externi și trimite o structură JSON unificată conform standardelor enterprise.

Exemplu: Filtru global complet pentru capturarea tuturor excepțiilor
import { ExceptionFilter, Catch, ArgumentsHost, HttpException, HttpStatus } from '@nestjs/common';
import { Response, Request } from 'express';

@Catch()
export class AllExceptionsFilter implements ExceptionFilter {
  catch(exception: unknown, host: ArgumentsHost) {
    const ctx = host.switchToHttp();
    const response = ctx.getResponse();
    const request = ctx.getRequest();

    const status =
      exception instanceof HttpException
        ? exception.getStatus()
        : HttpStatus.INTERNAL_SERVER_ERROR;

    const message =
      exception instanceof HttpException
        ? exception.getResponse()
        : 'A intervenit o eroare internă neprevăzută.';

    response.status(status).json({
      statusCode: status,
      timestamp: new Date().toISOString(),
      path: request.url,
      error: message,
    });
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Filtre Globale de Excepții (Global Exception Filters)

Ai o nelămurire despre utilizarea comenzii Filtre Globale de Excepții (Global Exception Filters) sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.