Sobes.tech
Junior — Middle

Quelle est la différence entre l'opérateur throw et la création d'une nouvelle exception avec throw new Exception?

sobes.tech IA

Réponse de l'IA

En C#, l'opérateur throw est utilisé pour lancer une exception. La différence entre throw et throw new Exception() est que :

  • throw new Exception() crée un nouvel objet exception et le lance immédiatement. Par exemple :
throw new Exception("Erreur");
  • throw; sans créer un nouvel objet est utilisé dans un bloc catch pour relancer l'exception déjà capturée, en conservant la pile d'appels. Par exemple :
try {
    // code
} catch(Exception ex) {
    // journalisation
    throw; // relance la même exception
}

Ainsi, throw new Exception() crée et lance une nouvelle exception, tandis que throw; relance l'exception en cours sans modifier la pile d'appels.