Exception Filter

NestJS 🟡 Mid

Definition

Classe decoree @Catch qui intercepte les exceptions non gerees et les transforme en reponses HTTP structurees. Centralise la gestion d'erreurs.

Analogie

Comme un filet de securite sous un trapeziste : il attrape les chutes et les transforme en atterrissage controle.

Exemple de code

@Catch(HttpException)
export class HttpExceptionFilter implements ExceptionFilter {
  catch(exception: HttpException, host: ArgumentsHost) {
    const ctx = host.switchToHttp();
    const response = ctx.getResponse();
    response.status(exception.getStatus()).json({
      message: exception.message,
    });
  }
}

Cas d'usage

Formater toutes les erreurs API de maniere coherente avec des codes d'erreur et messages standardises.

Anti-pattern

Entourer chaque handler de try/catch au lieu d'utiliser un filtre d'exception global.

Termes lies

#core#interview