Exception Filter
NestJS 🟡 MidDéfinition
Classe décorée @Catch qui intercepte les exceptions non gérées et les transforme en réponses HTTP structurées. Centralise la gestion d'erreurs.
Analogie
Comme un filet de sécurité sous un trapéziste : il attrape les chutes et les transforme en atterrissage contrôle.
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 manière cohérente avec des codes d'erreur et messages standardises.
Anti-pattern
Termes liés
En entretien
Explique-moi le rôle d'un Exception Filter dans NestJS.
C'est une classe décorée @Catch qui intercepte les exceptions non gérées et les transforme en réponses HTTP structurées, comme un filet de sécurité sous un trapéziste qui attrape les chutes et les transforme en atterrissage contrôlé. Ça centralise la gestion d'erreurs au lieu de la disperser partout.
Pourquoi éviter d'entourer chaque handler d'un try/catch au lieu d'utiliser un filtre global ?
Parce que c'est l'anti-pattern identifié : ça duplique la logique d'erreur dans chaque handler au lieu de la centraliser. Un filtre global permet de formater toutes les erreurs API de manière cohérente, avec des codes et messages standardisés.
Fiche mise à jour le 2026-09-27