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 bloccatchpour 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.