Maison > Article > développement back-end > Comment relancer une InnerException en C# sans perdre la trace de la pile ?
En C#, throw est un mot-clé, utile pour lancer manuellement des exceptions pendant l'exécution du programme. Nous pouvons utiliser des blocs try-catch pour gérer ces exceptions levées si nécessaire.
En utilisant le mot-clé throw dans le bloc catch, nous pouvons relancer l'exception gérée dans le bloc catch. La relance des exceptions est utile lorsque nous voulons transmettre l'exception à l'appelant pour qu'il la gère comme il le souhaite.
Ce qui suit est un exemple d'utilisation du mot-clé throw pour renvoyer une exception à l'appelant à l'aide d'un bloc try-catch en C#.
class Program{ static void Main(string[] args){ try{ Method2(); } catch (System.Exception ex){ System.Console.WriteLine($"{ex.StackTrace.ToString()} {ex.Message}"); } Console.ReadLine(); } static void Method2(){ try{ Method1(); } catch (System.Exception){ throw; } } static void Method1(){ try{ throw new NullReferenceException("Null Exception error"); } catch (System.Exception){ throw; } } }
C'est ainsi que nous pouvons renvoyer une exception à l'appelant si nécessaire en utilisant le mot-clé throw dans le bloc catch.
at DemoApplication.Program.Method1() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 49 at DemoApplication.Program.Method2() in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 37 at DemoApplication.Program.Main(String[] args) in C:\Users\Koushik\Desktop\Questions\ConsoleApp\Program.cs:line 24 Null Exception error
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!