Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में कस्टम अपवाद (Custom Exception) कैसे बनाएं?


कभी-कभी एप्लिकेशन की आवश्यकताओं के आधार पर सार्थक अपवाद विकसित करना आवश्यक होता है। Java में हम Exception क्लास को एक्सटेंड करके अपने खुद के अपवाद (Custom Exceptions) बना सकते हैं।

उपयोगकर्ता-परिभाषित अपवादों को Java में कस्टम अपवाद (Custom Exceptions) के नाम से भी जाना जाता है।

कस्टम अपवाद बनाने के चरण (उदाहरण सहित)

  1. CustomException क्लास बनाएं जो Exception क्लास को एक्सटेंड करे।
  2. अपवाद संदेश को स्थानीय रूप से स्टोर करने के लिए एक लोकल वेरिएबल message बनाएं।
  3. कस्टम अपवाद ऑब्जेक्ट के कंस्ट्रक्टर में एक स्ट्रिंग आर्गुमेंट पास करें। कंस्ट्रक्टर उस आर्गुमेंट स्ट्रिंग को प्राइवेट message वेरिएबल में सेट करे।
  4. toString() मेथड को ओवरराइड करें ताकि अपवाद संदेश प्रिंट हो सके।
  5. main मेथड में try-catch ब्लॉक का उपयोग करके कस्टम अपवाद को फेंकें (throw) और देखें कि कस्टम अपवाद बनाते समय स्ट्रिंग कैसे पास की जाती है। catch ब्लॉक में संदेश प्रिंट करें।

उदाहरण

class CustomException extends Exception {
    String message;

    CustomException(String str) {
        message = str;
    }

    @Override
    public String toString() {
        return ("Custom Exception Occurred : " + message);
    }
}

public class MainException {
    public static void main(String args[]) {
        try {
            throw new CustomException("This is a custom message");
        } catch (CustomException e) {
            System.out.println(e);
        }
    }
}

आउटपुट

Custom Exception Occurred : This is a custom message

सर्वोत्तम अभ्यास (Best Practices)

  • Checked vs Unchecked: अगर आप चाहते हैं कि कॉलर अनिवार्य रूप से अपवाद को हैंडल करे, तो Exception एक्सटेंड करें (Checked)। अगर रनटाइम अपवाद चाहते हैं, तो RuntimeException एक्सटेंड करें (Unchecked)।
  • सीरियलाइजेशन: serialVersionUID डिक्लेयर करें।
  • कंस्ट्रक्टर्स: सभी मानक कंस्ट्रक्टर्स प्रदान करें (नो-आर्ग, मैसेज के साथ, कारण के साथ, मैसेज और कारण दोनों के साथ)।
  • नामकरण: क्लास का नाम Exception से समाप्त होना चाहिए (जैसे InsufficientFundsException)।

उन्नत उदाहरण (Best Practices के साथ)

public class InsufficientFundsException extends Exception {
    private static final long serialVersionUID = 1L;
    private double amount;

    public InsufficientFundsException(String message) {
        super(message);
    }

    public InsufficientFundsException(String message, Throwable cause) {
        super(message, cause);
    }

    public InsufficientFundsException(double amount) {
        super("Insufficient funds. Required: " + amount);
        this.amount = amount;
    }

    public double getAmount() {
        return amount;
    }
}

निष्कर्ष: कस्टम अपवाद एप्लिकेशन-विशिष्ट त्रुटियों को स्पष्ट रूप से व्यक्त करने में मदद करते हैं और कोड को अधिक पठनीय और रखरखाव योग्य बनाते हैं।

  1. Java में JTable को कैसे फ़िल्टर करें? Java में JTable को कैसे फ़िल्टर करें?

    JTable टेबल बनाने और प्रदर्शित करने के लिए बहुत लचीली संभावना प्रदान करता है। TableModel इंटरफेस टेबल की सामग्री निर्दिष्ट करने वाले ऑब्जेक्ट्स के लिए मेथड्स को परिभाषित करता है। AbstractTableModel क्लास को आमतौर पर मॉडल टेबल के कस्टम कार्यान्वयन प्रदान करने के लिए एक्सटेंड किया जाता है। JTable क्ला

  1. Java में JToggleButton कैसे लागू करें Java में JToggleButton कैसे लागू करें

    JToggleButtonएक JToggleButton AbstractButton का एक्सटेंशन है और इसका उपयोग उन बटनों को दर्शाने के लिए किया जा सकता है जिन्हें ON और OFF किया जा सकता है।जब JToggleButton को पहली बार दबाया जाता है, तो यह दबा हुआ रहता है और इसे केवल दूसरी बार दबाने पर रिलीज़ किया जा सकता है।एक JToggleButton हर बार दबाए

  1. Java में लॉगिन फॉर्म कैसे बनाएं? Java में लॉगिन फॉर्म कैसे बनाएं?

    हम Java Swing तकनीक का उपयोग करके Java में लॉगिन फॉर्म विकसित कर सकते हैं। इस उदाहरण में, हम दो लेबल यूज़रनेम और पासवर्ड बना सकते हैं, यूज़र के लिए वैध क्रेडेंशियल्स दर्ज करने के लिए दो टेक्स्ट फील्ड्स और अंत में एक सबमिट बटन। एक बार जब यूज़र दो टेक्स्ट फील्ड्स में वैध क्रेडेंशियल्स दर्ज करने में सक