C# Exception Class
.NET Framework में सभी Exceptions System.Exception नाम की Base Class से Derive होते हैं, जो कि स्वयं System.Object नाम की Derived Class है। इस Class में बहुत सारे Virtual Methods हैं, जिन्हें Custom Exception Handling करने के लिए Override किया जा सकता है। इस Class के विभिन्न Members की Detailed जानकारी प्राप्त करने के लिए Visual Studio के Object Browser Utility का प्रयोग किया जा सकता है।
इस Class में बहुत सारी Properties को भी Define किया गया है, जिनमें से ज्यादातर Read-Only Properties हैं। इन्हें Read-Only इसलिए रखा गया है, ताकि Derived Classes प्रत्येक Property को Default Value Supply कर सके। उदाहरण के लिए IndexOutOfRangeException Type का Default Message “Index was outside thee bounds of the array.” है।
हालांकि Interface के बारे में हम आगे समझेंगे, लेकिन फिर भी Exception Class मूल रूप से दो .NET Interface Implement करता है। जहां _Exception नाम का Interface .NET Exception के Unmanaged Code Base को Handle करने के लिए Implement किया जाता है। जबकि ISerializable नाम का Interface एक ऐसा Object Create करने की सुविधा Provide करता है, जो कि अलग-अलग Machine Boundaries के Across Persisted रहता है।
किसी Program में विभिन्न प्रकार की परिस्थितियों में विभिन्न प्रकार के Exceptions Generate हो सकते हैं। इसलिए .NET Framework के BCL में विभिन्न प्रकार के Exceptions को Handle करने के लिए बहुत सारी Classes को Define किया गया है।
परिणामस्वरूप Program के Runtime में जब कोई Error Trigger होता है, तो .NET Platform उस Particular Type की Error को Represent करने के लिए एक Exception Object Create करके Throw करता है। इस Exception Object द्वारा Represent होने वाली Error को Handle करने के लिए विभिन्न catch Clause Define किए जाते हैं। परिणामस्वरूप उस Thrown Error Object को किसी Appropriate catch Block द्वारा Cache किया जाता है और Caught Error को उस catch Block में Handle किया जाता है।
जैसाकि हमने पहले भी कहा कि सभी तरह के Exceptions System.Exception Class से Derive होते हैं। इन Exceptions की Inheritance Hierarchy कुछ निम्नानुसार होती है:

जब भी कोई Exception Trigger होता है, उस Exception Type का एक Object Create होता है, जिसमें Defined विभिन्न Read-Only Properties में Trigger होने वाली Exception से सम्बंधित विभिन्न प्रकार की जानकारियां होती हैं। इसलिए किसी Exception Type Object में Specified निम्नानुसार Properties को Access करके हम Generate होने वाली Error से सम्बंधित विभिन्न प्रकार की जानकारियां प्राप्त कर सकते हैं: (C# Exception Class)
Data Property
ये Read Only Property Key/Value Pairs का एक Collection Retrieve करता है, जो कि IDictionalry Interface को Implement करने वाले एक Object द्वारा Represent होता है। ये Object Trigger होने वाले Exception से सम्बंधित Programmer Defined Additional Information Provide करता है। जबकि Default रूप से ये Collection Empty होता है। यानी यदि हम चाहें तो इस Collection का प्रयोग करके अपनी इच्छानुसार Exception Related Extra Information को इस Object में Specify कर सकते हैं।
HelpLink Property
इस Property में हम Trigger होने वाले Exception से सम्बंधित Online Help या किसी Help File का Link को Set या Get कर सकते हैं।
InnerException Property
इस Read-Only Property का प्रयोग करके हम पिछले Exception से सम्बंधित जानकारियां प्राप्त कर सकते हैं।
Message Property
ये Read-Only Property Specified Error का Textual Description Return करता है। इस Property में Error Message एक Constructor Parameter की तरह Set किया जाता है।
StackTrace Property
ये Read-Only Property एक String Property होती है, जिसे उन Calls की Sequence को Identify करने के लिए Use किया जा सकता है, जिन्होंने Exception Generate किया है। ये Property उस समय काफी उपयोगी होती है, जब हम Generate होने वाले सभी Exceptions को किसी External Error Log File में Dump करना चाहते हैं।
Source Property
इस Property उस Assembly का नाम Get या Set किया जाता है, जिसने Current Exception Throw किया है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
C#.NET in Hindi | Page:908 | Format: PDF