C# में, थ्रो एक कीवर्ड है और प्रोग्राम के निष्पादन के दौरान मैन्युअल रूप से एक अपवाद को फेंकना उपयोगी होता है और हम अपनी आवश्यकताओं के आधार पर try−catch ब्लॉक का उपयोग करके उन फेंके गए अपवादों को संभाल सकते हैं।
कैच ब्लॉक में थ्रो कीवर्ड का उपयोग करके, हम एक अपवाद को फिर से फेंक सकते हैं जिसे कैच ब्लॉक में हैंडल किया जाता है। एक अपवाद को फिर से फेंकना तब उपयोगी होता है, जब हम कॉल करने वाले को एक अपवाद पास करना चाहते हैं, ताकि वह इसे उस तरह से संभाल सके जैसे वे चाहते हैं।
c# में try-catch ब्लॉक के साथ थ्रो कीवर्ड का उपयोग करके कॉलर को अपवाद को फिर से फेंकने का उदाहरण निम्नलिखित है।
उदाहरण
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; } } }
इस प्रकार हम अपनी आवश्यकताओं के आधार पर कैच ब्लॉक में थ्रो कीवर्ड का उपयोग करके कॉलर को अपवाद फिर से फेंक सकते हैं।
आउटपुट
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