अपवाद और त्रुटियां दोनों थ्रोएबल वर्ग के उपवर्ग हैं। त्रुटि एक समस्या को इंगित करती है जो मुख्य रूप से सिस्टम संसाधनों की कमी के कारण होती है और हमारे आवेदन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। त्रुटियों के कुछ उदाहरण सिस्टम क्रैश त्रुटि और स्मृति त्रुटि से बाहर हैं। त्रुटियां ज्यादातर रनटाइम पर होती हैं, जो कि वे एक अनियंत्रित प्रकार से संबंधित होती हैं।
अपवाद वे समस्याएं हैं जो रनटाइम और संकलन समय पर हो सकती हैं। यह मुख्य रूप से डेवलपर्स द्वारा लिखे गए कोड में होता है। अपवादों को दो श्रेणियों में विभाजित किया जाता है जैसे चेक किए गए अपवाद और अनियंत्रित अपवाद।
Sr. नहीं. | <वें शैली="पाठ्य-संरेखण:केंद्र; चौड़ाई:21.7687%;">कुंजीवें> <वें शैली="पाठ्य-संरेखण:केंद्र;">त्रुटिवें> <वें शैली="पाठ्य-संरेखण:केंद्र;">अपवादवें>|||
---|---|---|---|
1 | प्रकार | अनियंत्रित प्रकार के रूप में वर्गीकृत | चेक और अनचेक के रूप में वर्गीकृत |
2 | पैकेज | यह java.lang.error के अंतर्गत आता है | यह java.lang.Exception के अंतर्गत आता है |
3 | वसूली योग्य/अपरिवर्तनीय | यह अपरिवर्तनीय है | यह पुनर्प्राप्त करने योग्य है |
4 | यह संकलन समय पर नहीं हो सकता | यह रन टाइम कंपाइल टाइम दोनों पर हो सकता है | |
5 | उदाहरण | OutOfMemoryError,IOError | NullPointerException, SqlException |
त्रुटि का उदाहरण
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.ErrorExample(Main.java:42)
अपवाद का उदाहरण
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)पर शून्य से