फेंकने योग्य क्लास जावा में सभी त्रुटियों और अपवादों का एक सुपरक्लास है। ऑब्जेक्ट जो इस वर्ग के उदाहरण हैं जावा वर्चुअल मशीन . द्वारा फेंके जाते हैं या एक फेंक . द्वारा फेंका जा सकता है बयान। इसी तरह, यह वर्ग या इसका कोई उपवर्ग कैच क्लॉज में तर्क प्रकार हो सकता है।
दो उपवर्गों के उदाहरण त्रुटि और अपवाद यह इंगित करने के लिए उपयोग किया जाता है कि असाधारण स्थितियां हुई हैं, ये उदाहरण प्रासंगिक जानकारी को शामिल करने के लिए असाधारण स्थिति के संदर्भ में बनाए गए हैं।
थ्रोएबल क्लास की आमतौर पर इस्तेमाल की जाने वाली अपवाद विधियां
- सार्वजनिक स्ट्रिंग getMessage(): अपवाद के बारे में संदेश स्ट्रिंग लौटाता है।
- सार्वजनिक रूप से फेंकने योग्य getCause(): अपवाद का कारण लौटाता है। यदि कारण अज्ञात है या कोई नहीं है तो यह शून्य हो जाएगा।
- सार्वजनिक स्ट्रिंग टूस्ट्रिंग (): अपवाद का संक्षिप्त विवरण देता है।
- सार्वजनिक शून्य प्रिंटस्टैकट्रेस(प्रिंटस्ट्रीम एस): त्रुटि आउटपुट स्ट्रीम (System.err) पर अपवाद का संक्षिप्त विवरण (toString () का उपयोग करके) + इस अपवाद के लिए एक स्टैक ट्रेस प्रिंट करता है।
उदाहरण
class ArithmaticTest { public void division(int num1, int num2) { try { //java.lang.ArithmeticException here. System.out.println(num1/num2); //catch ArithmeticException here. } catch(ArithmeticException e) { //print the message string about the exception. System.out.println("getMessage(): " + e.getMessage()); //print the cause of the exception. System.out.println("getCause(): " + e.getCause()); //print class name + “: “ + message. System.out.println("toString(): " + e.toString()); System.out.println("printStackTrace(): "); //prints the short description of the exception + a stack trace for this exception. e.printStackTrace(); } } } public class Test { public static void main(String args[]) { //creating ArithmaticTest object ArithmaticTest test = new ArithmaticTest(); //method call test.division(20, 0); } }
आउटपुट
getMessage(): / by zero getCause(): null toString(): java.lang.ArithmeticException: / by zero printStackTrace(): java.lang.ArithmeticException: / by zero at ArithmaticTest.division(Test.java:5) at Test.main(Test.java:27)