IntrinsicException
NestJS 🔴 SeniorDéfinition
Classe de base exportée par @nestjs/common dont hérité HttpException. Les filtres d'exception integres de NestJS ne loguent jamais une instance d'IntrinsicException, ce qui permet de distinguer les erreurs attendues (partie du flux normal) des erreurs inattendues qui méritent d'être remontées.
Analogie
Comme un videur qui laisse entrer sans alerte les habitues sur liste (exceptions normales) mais déclenche l'alarme pour un inconnu (erreur réelle).
Exemple de code
export class OutOfStockException extends HttpException {
constructor() {
super('Produit epuise', HttpStatus.CONFLICT);
}
}
// Herite d'IntrinsicException via HttpException :
// jamais loguee comme une erreur critique
Cas d'usage
Éviter de polluer les logs d'erreurs avec des exceptions métier attendues (stock épuisé, validation refusée).
Anti-pattern
Termes liés
En entretien
Explique-moi ce qu'est IntrinsicException et pourquoi ça existe.
C'est une classe de base dont hérite HttpException, et les filtres d'exception intégrés de NestJS ne loguent jamais une instance d'IntrinsicException. Ça permet de distinguer les erreurs métier attendues, comme un videur qui laisse entrer sans alerte les habitués sur liste, des vraies erreurs inattendues.
Quel est le piège si tu étends Error directement pour une exception métier attendue ?
Elle sera loguée comme une vraie erreur critique alors que c'est un cas normal du flux métier, ce qui pollue les logs et rend le vrai débogage plus difficile.
Donne-moi un cas concret où ça sert.
Une exception 'stock épuisé' qui hérite de HttpException fait partie du flux normal de l'appli et ne doit pas remonter comme une erreur critique dans les logs de monitoring.
Fiche mise à jour le 2026-09-27