ใน c# การ throw เป็นคีย์เวิร์ดและเป็นประโยชน์ในการโยนข้อยกเว้นด้วยตนเองระหว่างการทำงานของโปรแกรม และเราสามารถจัดการกับข้อยกเว้นที่เกิดขึ้นโดยใช้บล็อก try−catch ตามความต้องการของเรา
ด้วยการใช้คีย์เวิร์ด throw ในบล็อก catch เราสามารถโยนข้อยกเว้นที่ได้รับการจัดการในบล็อก catch อีกครั้งได้ การโยนข้อยกเว้นใหม่มีประโยชน์เมื่อเราต้องการส่งข้อยกเว้นไปยังผู้โทรเพื่อจัดการในลักษณะที่พวกเขาต้องการ
ต่อไปนี้คือตัวอย่างของการโยนข้อยกเว้นให้กับผู้โทรอีกครั้งโดยใช้คีย์เวิร์ด throw โดยมีบล็อก try-catch ใน 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;
}
}
} นี่คือวิธีที่เราสามารถส่งข้อยกเว้นให้กับผู้โทรอีกครั้งโดยใช้คีย์เวิร์ด throw ในบล็อก 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