Exception Filter
NestJS 🟡 MidDefinition
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.