Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk membuang semula InnerException dalam C# tanpa kehilangan jejak tindanan?
Dalam c#, throw adalah kata kunci untuk membuang pengecualian secara manual semasa pelaksanaan program .
Dengan menggunakan kata kunci lontaran dalam blok tangkapan, kita boleh melontar semula pengecualian yang dikendalikan dalam blok tangkapan. Melemparkan semula pengecualian berguna apabila kita ingin memberikan pengecualian kepada pemanggil untuk mengendalikannya seperti yang mereka mahu.
Berikut ialah contoh menggunakan kata kunci lontaran untuk melempar semula pengecualian kepada pemanggil menggunakan blok cuba-tangkap dalam 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; } } }
Ini adalah cara kita boleh melemparkan semula pengecualian kepada pemanggil mengikut keperluan menggunakan kata kunci lontaran dalam blok tangkapan.
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
Atas ialah kandungan terperinci Bagaimana untuk membuang semula InnerException dalam C# tanpa kehilangan jejak tindanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!