Exception Handling in C#

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Exception Handling in C#: कोई भी Programmer इतना Perfect नहीं होता कि उसके Program में कभी भी किसी भी तरह की Error न हो। Software Develop करना एक काफी जटिल काम होता है, जिसमें विभिन्न प्रकार की Requirements को पूरा करने के लिए विभिन्न प्रकार के Decisions लेने पडते हैं और उन Decisions को Codes के रूप में Implement करने पडते हैं, जिसकी वजह से किसी भी Program में तरह-तरह की Errors होती हैं।

कुछ Errors Programmer के गलत Decision के कारण होते हैं, तो कुछ User द्वारा Program में गलत तरह के Data Input करने की वजह से। उदाहरण के लिए किसी Array की Boundary का Overflow होना या किसी Integer Value का Underflow हो जाना Programmer की गलती होता है। जबकि किसी Numerical Field में Character Data Input कर देना User की गलती होता है। फिर भी किसी भी Programming Language की Errors को मूल रूप से तीन तरह की Errors में Divide किया जा सकता है:

Bugs

ये ऐसे Errors होती है, जो कि सामान्‍यत: Programmer की Mistake या गलत Decision के कारण होते हैं। उदाहरण के लिए यदि User किसी File को Open करता है लेकिन उसे Close नहीं करताए इस गलती के कारण Program में यदि कोई Error Generate होता है, तो उसे Bug कहा जाता है।

User Errors

जब किसी Running Program में User कोई गलत Data Input करता है और उस गलत Data को Validate करने से सम्बंधित Code Program में नहीं लिखा गया होताए तो इस तरह से गलत Input द्वारा Generate होने वाली Errors को User Error के नाम से जाना जाता है।

Exceptions

Exceptions वास्तव में किसी Program की Runtime Anomalies को Represent करता है, जिसे Program Develop करते समय Identify करना मुि”कल होता है। Exceptions ऐसे Errors को Represent करते हैं, जो कि Normally Run हो रहे Program के Runtime में किसी विशेष परिस्थिति में Generate होते हैं, जबकि सामान्‍य स्थिति में वही Program Normal तरीके से Run होता है।

उदाहरण के लिए यदि हम किसी Corrupted File को Open करने की कोशिश करें, या किसी ऐसे Database से Connect होने की कोशिश करें, जो कि Currently Available नहीं है, तो उस स्थिति में जो Error Generate होता है, उसे Exception कहते हैं। क्योंकि सामान्‍य स्थिति में हमारा Program उसी File को Normally Open करता है अथवा उसी Database से Normally Connect होता है।

.NET Framework द्वारा इस प्रकार की Errors को Handle करने के लिए जो Error Handling Mechanism Provide किया जाता है, उससे हम इसी तरह के Runtime Exceptions को Handle करते हैं।

सरल शब्दों में कहें तो Exception एक ऐसा Runtime Error होता है, जो हमारे Application Program के Constraints को Violate करता है अथवा ऐसी स्थिति को Represent करता है, जो कि Program की Normal Functioning को Abnormal कर देता है।

उदाहरण के लिए जब Program किसी संख्‍या को Zero से Divide करने की कोशिश करता है अथवा किसी Read Only File में Data Write करने की कोशिश करता है, तो Error Generate होता है और सामान्‍यत: जब इस तरह के कारण से कोई Error Generate होता है, तो हमारा Operating System उस Error को Catch करता है और Exception Raise करता है।

यदि हम हमारे Program में इस तरह की Errors को Handle करने के लिए Exception Handler Specify न करें, तो हमारा Computer System हमारे Program को इस तरह की Error Generate होने पर Halt कर देता है। उदाहरण के लिए निम्न Code एक तरह का Divide by Zero Exception Generate करता है:

File Name: ExceptionBasics.cs

using System;

File Name: ExceptionBasics.cs
using System;

namespace CSharpExceptionHandling
{
    class ExceptionBasics
    {
        static void Main(String[] arg)
        {
            int x = 10, y = 0;
            x /= y;
            Console.WriteLine("X: " + x);
        }
    }
}

यदि हम इस Code को Run करते हैं, तो हमें निम्नानुसार Error Message प्राप्त होता है:

Output:
Unhandled Exception: System.DivideByZeroException: Attempted to divide by zero.
at CSharpExceptionHandling.ExceptionBasics.Main(String[] arg)

try Statement

C# द्वारा Provided try Statement एक ऐसा Statement होता है, जिसके Block के बीच हम उन Codes को Specify करते हैं, जिन्हें किसी प्रकार के Exception के Generate होने के लिए Monitor करना होता है।

यानी जो Codes किसी विशेष Situation में किसी तरह की Error Generate कर सकते हैं, ऐसे Codes को हमेंशा try Block के बीच Specify किया जाता है। try Statement मूलत: के तीन हिस्से होते हैं:

  • try Block में उन Codes को लिखा जाता है, जो किसी तरह का Error Generate कर सकते हैं।
  • try Block के साथ एक या एक से अधिक तरह के Exceptions को Handle करने के लिए एक या एक से अधिक catch Blocks को Specify किया जाता है। ये वे Blocks होते हैं, जो try Block से Trigger होने वाले विभिन्न प्रकार के Exceptions को Handle करने का काम करते हैं।
  • finally Block इस try Statement का अन्तिम Block होता है, जो कि एक Optional Block होता है और इस Block में हम उन Codes को Specify करते हैं, जिन्हें Exception Trigger होने अथवा न होने यानी दोनों ही स्थितियों में Execute करना होता है।

इस तरह से यदि हम पूरे try Statement Block को एक Block Diagram के रूप में Specify करना चाहें, तो निम्नानुसार कर सकते हैं:

Exception Handling in C# - Hindi

Exception Handling in C# – Hindi

Exception Handling in C#

अब यदि हम हमारे पिछले Program द्वारा Generate होने वाले “Divide by Zero” Exception को Exception Handling Mechanism द्वारा Handle करना चाहें, हम हमारा Program निम्नानुसार Modify कर सकते हैं:

File Name: ExceptionHandling.cs
using System;

namespace CSharpExceptionHandling
{
    class ExceptionBasics
    {
        static void Main(String[] arg)
        {
            int x = 10, y = 0;
            try
            {
                x /= y;
                Console.WriteLine("X: " + x);
            }
            catch
            {
                Console.WriteLine("Don't worry, I am handling the Exception.");
            }
        }
    }
}

इस बार जब हम इस Modified Program को Run करते हैं, तो हमें निम्नानुसार Output Message प्राप्त होता है:

Output:
        Don’t worry, I am handling the Exception.

इस Program में हमने उस Code को try Block के बीच Specify किया है, जो कि Error Trigger कर रहा है। परिणामस्वरूप जब Error Generate होता है, इस try Block का catch Block उस Error को Catch करके Appropriate Output Message Provide करता है।

यानी जब हम इस तरह से Exception Handling करने के लिए Exception Handling Mechanism का प्रयोग करते हुए का Program बनाते हैं, तो हमारा Program किसी अवांछित स्थिति में Crash नहीं होताए बल्कि Generate होने वाली Error को Handle करता है। जिससे हमारा Program ज्यादा Efficient बन जाता है क्योंकि इस बार कोई Error Generate नहीं होता बल्कि एक Appropriate Message Return होता है।

system.object Class in C#
C# Exception Class

******

ये पोस्‍ट Useful लगा हो, तो Like कर दीजिए।

C# in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook C#.NET in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

C#.NET in Hindi | Page:908 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।