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

जावा में Exception और Error के बीच अंतर

Exceptions और Errors दोनों Throwable क्लास के सबक्लास हैं। Error एक ऐसी समस्या को इंगित करता है जो मुख्य रूप से सिस्टम रिसोर्सेज की कमी के कारण होती है और हमारे एप्लिकेशन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। Errors के कुछ उदाहरण हैं: सिस्टम क्रैश एरर और आउट ऑफ मेमोरी एरर। Errors ज्यादातर रनटाइम पर होती हैं इसलिए ये अनचेक्ड टाइप से संबंधित होती हैं।

Exceptions वे समस्याएं हैं जो रनटाइम और कंपाइल टाइम दोनों पर हो सकती हैं। यह मुख्य रूप से डेवलपर्स द्वारा लिखे गए कोड में होती हैं। Exceptions को दो श्रेणियों में बांटा गया है: चेक्ड एक्सेप्शन्स और अनचेक्ड एक्सेप्शन्स।

क्र.सं. मुख्य बिंदु Error Exception
1 टाइप अनचेक्ड टाइप के रूप में वर्गीकृत चेक्ड और अनचेक्ड दोनों के रूप में वर्गीकृत
2 पैकेज यह java.lang.Error से संबंधित है यह java.lang.Exception से संबंधित है
3 रिकवरेबल/इरिकवरेबल यह इरिकवरेबल (अप्राप्य) है यह रिकवरेबल (प्राप्य) है
4 घटना का समय यह कंपाइल टाइम पर नहीं हो सकती यह रनटाइम और कंपाइल टाइम दोनों पर हो सकती है
5 उदाहरण OutOfMemoryError, IOError NullPointerException, SQLException

Error का उदाहरण

public class ErrorExample {
    public static void main(String[] args) {
        recursiveMethod(10);
    }
    
    public static void recursiveMethod(int i) {
        while(i != 0) {
            i = i + 1;
            recursiveMethod(i);
        }
    }
}

आउटपुट

Exception in thread "main" java.lang.StackOverflowError
    at ErrorExample.recursiveMethod(ErrorExample.java:42)

Exception का उदाहरण

public class ExceptionExample {
    public static void main(String[] args) {
        int x = 100;
        int y = 0;
        int z = x / y;
    }
}

आउटपुट

java.lang.ArithmeticException: / by zero
    at ExceptionExample.main(ExceptionExample.java:7)

मुख्य अंतर सारांश

  • Error: सिस्टम लेवल की गंभीर समस्याएं, एप्लिकेशन द्वारा हैंडल नहीं की जानी चाहिए, अनचेक्ड
  • Exception: एप्लिकेशन लेवल की समस्याएं, हैंडल की जा सकती हैं, चेक्ड (कंपाइल टाइम) और अनचेक्ड (रनटाइम) दोनों हो सकती हैं
  1. - जावा में Iterator और Enumeration के बीच अंतर

    Iterator और Enumeration दोनों कलेक्शन से एलिमेंट्स को ट्रैवर्स और एक्सेस करने के लिए कर्सर हैं। वे दोनों कलेक्शन फ्रेमवर्क से संबंधित हैं। Enumeration JDK 1.0 में जोड़ा गया था और Iterator JDK 1.2 वर्जन में कलेक्शन फ्रेमवर्क में जोड़ा गया। Enumeration कलेक्शन में स्ट्रक्चरल चेंज नहीं कर सकता क्योंकि

  1. - Java में ArrayList और HashSet के बीच अंतर

    HashSet और ArrayList दोनों Java कलेक्शन फ्रेमवर्क के सबसे महत्वपूर्ण क्लासेस में से कुछ हैं।ArrayList और HashSet के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।क्रमांकमुख्य बिंदुArrayListHashSet1कार्यान्वयनArrayList लिस्ट इंटरफेस का कार्यान्वयन है।दूसरी ओर HashSet सेट इंटरफेस का कार्यान्वयन है।2आंतरिक कार्या

  1. - Java में Exception क्लास और Error क्लास में क्या अंतर है?

    Exception क्लास और Error क्लास दोनों java.lang.Throwable क्लास के सबक्लास हैं। हम रनटाइम पर अपवादों को हैंडल कर सकते हैं लेकिन एरर्स को हैंडल नहीं कर सकते। Exceptions (अपवाद): ये रनटाइम पर होने वाली तार्किक त्रुटियों (logical errors) को दर्शाने वाले ऑब्जेक्ट्स हैं जो JVM को अस्पष्टता (ambiguity)