Custom Exceptions c# In Hindi
C# प्रोग्रामिंग लैंग्वेज में कस्टम एक्सेप्शन C# यूजर को अपने सेल्फ कस्टम टाइप के प्रोग्राम एक्सेप्शन एरर मेथड क्रिएट करने में हेल्प करता हैं. जिसमे हर C# यूजर के लिए अपने प्रोग्राम एप्लिकेशन की आवश्यकता के अनुसार कस्टम एक्सेप्शन स्पेशल या यूनिक होते हैं। जिसमे C# यूजर ज़्यादा काम्प्लेक्स डिटेल्ड और सिर्फ एसेंशियल एक्सेप्शन एरर इनफार्मेशन को ही प्रोवाइड कर पाते हैं. जिससे C# प्रोग्रामर को किसी मौजूदा प्रोग्राम एप्लिकेशन एक्सेप्शन एरर को डीबग करना और स्पेशल प्रोग्राम एरर कंडीशन को हैंडल या मैनेज करना इजी हो जाता है।

Why use custom exceptions in C# programming?
- Simply put – C# प्रोग्राम में कस्टम एक्सेप्शन आपके प्रोग्राम एप्लिकेशन के मौजूदा कॉन्टेक्स्ट के अनुसार ज़्यादा एसेंशियल प्रोग्राम एरर मैसेज प्रोवाइड कर सकते हैं।
- Speciality – C# प्रोग्राम एक्सेप्शन जैसे बिल्ट-इन एक्सेप्शन बेसिक मेथड होते हैं, और यह C# प्रोग्राम एप्लिकेशन में जनरेट होने वाली स्पेशल एरर एक्सेप्शन के बारे में इंडीकेट नहीं करते हैं। क्लास प्रोग्राम में कस्टम एक्सेप्शन C# प्रोग्रामर को ऐसे एरर टाइप क्रिएट करने में हेल्प करते हैं. जो डायरेक्ट आपके एप्लिकेशन लॉजिक से कनेक्टेड होते हैं।
- Better Control – C# प्रोग्रामर अपनी सेल्फ एक्सेप्शन एरर क्लास में कस्टम प्रॉपर्टी या मैन्युअल यूजर डिफाइन क्लास मेथड को ऐड कर सकते हैं. जो मौजूदा प्रोग्राम में एक्सेप्शन एरर से रिलेटेड एक्स्ट्रा डेटा इनफार्मेशन प्रोवाइड करता हैं।
Creating a Custom Exception in C#.
C# प्रोग्राम में आपको एक कस्टम प्रोग्राम एक्सेप्शन एरर क्रिएट करने के लिए, आप निचे दिए इन स्टेप्स को प्रॉपर फ़ॉलो कर सकते है.
Creating a Custom Exception steps.
Inherit from Exception – C# यूजर को एक यूजर डिफाइन कस्टम एक्सेप्शन क्लास को बेस एक्सेप्शन क्लास या एक्सेप्शन के अधिक स्पेशल सबक्लास जैसे, ApplicationException आदि से इनहेरिट किया जाना चाहिए।
Specify Constructors – C# यूजर अपने यूजर डिफाइन कस्टम क्लास एक्सेप्शन में जरूरत के अनुसार कई कंस्ट्रक्टर क्रिएट करना एक बेसिक मेथड है. जैसे, एक्सेप्शन क्लास प्रोग्राम में होते हैं.
- जिसमे एक पैरामीटरलेस कंस्ट्रक्टर डिक्लेअर हो सकता है।
- जिसमे एक कंस्ट्रक्टर हो सकता है. जो C# यूजर से मैसेज को इनपुट करता है।
- जिसमे एक यूजर डिफाइन कंस्ट्रक्टर हो सकता है. जो यूजर मैसेज और इनर एक्सेप्शन दोनों को इनपुट के रूप में एक्सेप्ट करता है।
Add additional properties (optional) – C# यूजर प्रोग्राम में एक्सेप्शन एरर के बारे में अधिक डिटेल्ड इनफार्मेशन प्रोवाइड करने के लिए इसकी प्रॉपर्टीज़ को फिक्स कर सकते हैं. जैसे, एरर के लिए अतिरिक्त डेटा या कॉन्टेक्स्ट, आदि स्पेशल यूज़ केस में।
Basic example of a custom exception class in C#.
तो चलिए C# प्रोग्राम में एक बैंकिंग सिस्टम में मिनिमम डिपॉसिटेर के फंड को हैंडल या मैनेज करने के लिए एक कस्टम एक्सेप्शन एरर क्लास क्रिएट करे।
C# प्रोग्राम में एक कस्टम एक्सेप्शन: InsufficientDepositException क्रिएट करना।
using System;
public class InsufficientDepositException : Exception
{
// here we create a Constructor that takes a custom user message
public InsufficientDepositException(string message)
: base(message) { }
// here we create a Constructor that takes a custom message and an inner exception error
public InsufficientDepositException(string message, Exception inner)
: base(message, inner) { }
// here we define a Default constructor
public InsufficientDepositException() { }
}
Explanation of InsufficientDepositException.
- यहाँ इस एक्सप्रेशन में InsufficientDepositException क्लास, Exception बेस क्लास से इनहेरिट होती है।
- यहाँ इस एक्सेप्शन में तीन कंस्ट्रक्टर क्रिएट किए गए हैं.
- जिसमे एक डिफ़ॉल्ट कंस्ट्रक्टर है, जो कोई पैरामीटर नहीं लेता है।
- इसमें एक कंस्ट्रक्टर है, जो एक कस्टम एरर मैसेज को इनपुट के रूप में एक्सेप्ट करता है।
- एक यूजर डिफाइन कंस्ट्रक्टर है, जो मौजूदा एक्सप्रेशन में एक कस्टम एक्सेप्शन एरर मैसेज और एक इनर एक्सेप्शन दोनों को इनपुट करता है. यह इस एक्सप्रेशन में एक्सेप्शन को चेन करने के लिए यूज़फुल है।
Using a Custom Exception in a C# Program
यहाँ हम C# प्रोग्राम में, जब अकाउंट होल्डर के अकाउंट में डिपाजिट फंड मिनिमम हों, तो अकॉउंट होल्डर द्वारा फण्ड विड्रॉल की कोशिशों को हैंडल करने के लिए UserAccount क्लास में इस कस्टम एक्सेप्शन का यूज़ कर सकते हैं।
Example of Custom Exception in a C#.
using System;
// here we create a Custom Exception Class
class InsufficientDepositException : Exception
{
public InsufficientDepositException(string message) : base(message)
{
}
}
class UserAccount
{
private decimal Ac_balance;
public UserAccount(decimal lastBalance)
{
Ac_balance = lastBalance;
}
public void Withdraw(decimal amount)
{
if (amount > Ac_balance)
{
// here it Throw the custom error exception
throw new InsufficientDepositException(
“You don’t have funds to withdrawal this transaction.”
);
}
Ac_balance -= amount;
Console.WriteLine(“You Withdrawal this transaction successful. current balance is: ” + Ac_balance);
}
}
class Program
{
static void Main()
{
UserAccount account = new UserAccount(9999);
try
{
account.Withdraw(21000);
}
catch (InsufficientDepositException exception)
{
// here it Handle the custom program exception
Console.WriteLine(“Display Error – ” + exception.Message);
}
}
}
Custom Exception Program Explanation.
UserAccount class.
यहाँ इस कस्टम एक्सेप्शन प्रोग्राम में Withdraw क्लास मेथड यह चेक करता है कि अकॉउंट होल्डर द्वारा विड्रॉल अमाउंट बैलेंस से ज़्यादा है, या नहीं है। यदि इस प्रोग्राम में ऐसा होता है, तो यह मौजूदा प्रोग्राम में एक कस्टम एरर मैसेज के साथ InsufficientDepositException एक्सेप्शन एरर को थ्रो करता है।
Main method.
इस प्रोग्राम में try-catch ब्लॉक InsufficientDepositException प्रोग्राम एक्सेप्शन एरर को कैच करता है, और आउटपुट के रूप में एक एरर मैसेज को कंसोल स्क्रीन पर प्रिंट करता है।
Custom Exceptions Detailed Summary in C#.
- C# प्रोग्राम में एक यूजर डिफाइन कस्टम एक्सेप्शन प्रोग्राम की एरर हैंडलिंग को आपके प्रोग्राम एप्लिकेशन के यूनिक पर्पस के लिए अधिक डिटेल्ड मीनिंगफुल और स्पेसिफिक क्रिएट और कस्टम डिफाइन करने में हेल्प करते हैं।
- C# में Exception मैन बेस क्लास से इनहेरिट हो कर और रिलेवेंट क्लास कंस्ट्रक्टर क्रिएट कर एक कस्टम एक्सेप्शन एरर क्रिएट और मैनेज कर सकते हैं।
- यहाँ C# यूजर को अपने एक्सेप्शन प्रोग्राम एरर में कस्टम क्लास प्रॉपर्टीज़ और मेथड को ऐड करने के लिए एडिशनल कॉन्टेक्स्ट मिल सकता है।
