Maison  >  Article  >  développement back-end  >  Exceptions chaînées en C#

Exceptions chaînées en C#

WBOY
WBOYavant
2023-09-01 22:09:06704parcourir

C# 中的链式异常

Une exception chaînée est une série d'instructions try-catch qui gèrent les exceptions. Pour créer une chaîne d'exceptions, c'est-à-dire des exceptions chaînées −

configurez d'abord try-catch −

Exemple

static void Main(string[] args) {
   try {
      One();
   } catch (Exception e) {
      Console.WriteLine(e);
   }
}

Maintenant, essayez try-catch sous la méthode One() −

Exemple

static void One() {
   try {
      Two();
   } catch (Exception e) {
      throw new Exception("First exception!", e);
   }
}

Méthode Deux() Continuez également à enchaîner les exceptions.

Exemple

static void Two() {
   try {
      Three();
   } catch (Exception e) {
      throw new Exception("Second Exception!", e);
   }
}

Maintenant, passons à la méthode suivante.

Exemple

static void Three() {
   try {
      Last();
   } catch (Exception e) {
      throw new Exception("Third Exception!", e);
   }
}

Ceci nous amène au dernier.

Exemple

static void Last() {
   throw new Exception("Last exception!");
}

Lors de l'exécution du code ci-dessus, l'exception sera traitée comme suit −

System.Exception: First exception! ---< System.Exception: Middle Exception! ---< System.Exception: Last exception!
at Demo.Two () [0x00000] in <199744cb72714131b4f5995ddd1a021f>:0
--- End of inner exception stack trace ---
at Demo.Two () [0x00016] in <199744cb72714131b4f5995ddd1a021f>:0
at Demo.One () [0x00000] in <199744cb72714131b4f5995ddd1a021f>:0
--- End of inner exception stack trace ---
at Demo.One () [0x00016] in <199744cb72714131b4f5995ddd1a021f>:0
at Demo.Main (System.String[] args) [0x00000] in <199744cb72714131b4f5995ddd1a021f>:0

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Article précédent:Utiliser datetime en C#Article suivant:Utiliser datetime en C#