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

Java में ArithmeticException (unchecked) को कैसे संभालें?


java.lang.ArithmeticException जावा में एक unchecked exception है। आमतौर पर, java.lang.ArithmeticException: / by zero देखने को मिलता है जो तब होता है जब दो संख्याओं को डिवाइड करने का प्रयास किया जाता है और डिनोमिनेटर शून्य होता है। ArithmeticException ऑब्जेक्ट्स JVM द्वारा निर्मित किए जा सकते हैं।

उदाहरण 1

public class ArithmeticExceptionTest {
    public static void main(String[] args) {
        int a = 0, b = 10;
        int c = b/a;
        System.out.println("Value of c is : "+ c);
    }
}

उपरोक्त उदाहरण में, ArithmeticException डिनोमिनेटर का मान शून्य होने के कारण हुआ।

  • java.lang.ArithmeticException: डिवीजन के दौरान जावा द्वारा फेंका गया अपवाद।
  • / by zero: वह डिटेल मैसेज है जो ArithmeticException ऑब्जेक्ट बनाते समय ArithmeticException क्लास को दिया जाता है।

आउटपुट

Exception in thread "main" java.lang.ArithmeticException: / by zero
    at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:5)

ArithmeticException को कैसे संभालें

आइए ArithmeticException को try और catch ब्लॉक्स का उपयोग करके संभालते हैं।

  • उन स्टेटमेंट्स को try और catch ब्लॉक्स से घेरें जो ArithmeticException फेंक सकते हैं।
  • हम ArithmeticException को Catch कर सकते हैं।
  • अपने प्रोग्राम के लिए आवश्यक कार्रवाई करें, क्योंकि निष्पादन समाप्त नहीं होता।

उदाहरण 2

public class ArithmeticExceptionTest {
    public static void main(String[] args) {
        int a = 0, b = 10;
        int c = 0;
        try {
            c = b/a;
        } catch (ArithmeticException e) {
            e.printStackTrace();
            System.out.println("हम केवल स्टैक ट्रेस प्रिंट कर रहे हैं।\n" +
                "ArithmeticException को संभाल लिया गया है। लेकिन वेरिएबल \"c\" का ध्यान रखें");
        }
        System.out.println("Value of c :"+ c);
    }
}

जब एक अपवाद होता है, तो निष्पादन अपवाद की घटना के बिंदु से catch ब्लॉक पर चला जाता है। यह catch ब्लॉक में स्टेटमेंट को निष्पादित करता है और try और catch ब्लॉक्स के बाद मौजूद स्टेटमेंट के साथ जारी रहता है।

आउटपुट

हम केवल स्टैक ट्रेस प्रिंट कर रहे हैं। ArithmeticException को संभाल लिया गया है। लेकिन वेरिएबल "c" का ध्यान रखें
Value of c is : 0
java.lang.ArithmeticException: / by zero
    at ArithmeticExceptionTest.main(ArithmeticExceptionTest.java:6)

  1. Java 9 में JShell के डिफ़ॉल्ट एडिटर को कैसे संशोधित करें? Java 9 में JShell के डिफ़ॉल्ट एडिटर को कैसे संशोधित करें?

    JShell REPL (Read-Evaluate-Print Loop) को इम्प्लीमेंट करता है जो कमांड-लाइन से कोड पढ़ता है, दिए गए स्निपेट का मूल्यांकन करता है, और परिणाम को वापस प्रिंट करता है। JShell में, JShell Editor Pad का उपयोग करके डिफ़ॉल्ट JShell एडिटर से कोड एडिट करना संभव है। हम डिफ़ॉल्ट एडिटर को संशोधित करने के लिए ए

  1. Java में JFrame को स्क्रीन के केंद्र में कैसे प्रदर्शित करें? Java में JFrame को स्क्रीन के केंद्र में कैसे प्रदर्शित करें?

    JFrame Frame क्लास का सबक्लास है और फ्रेम में जोड़े गए घटकों को इसकी सामग्री के रूप में संदर्भित किया जाता है, ये contentPane द्वारा प्रबंधित होते हैं। हम JFrame में घटक जोड़ने के लिए इसके contentPane का उपयोग कर सकते हैं। एक JFrame बॉर्डर, शीर्षक, और बटन्स वाली एक विंडो की तरह है। हम JFrame का उपयो

  1. जावा में invokeLater() मेथड को कैसे कॉल करें? जावा में invokeLater() मेथड को कैसे कॉल करें?

    invokeLater() मेथड SwingUtilities क्लास का एक स्टैटिक मेथड है और इसका उपयोग AWT इवेंट डिस्पैचर थ्रेड में असिंक्रोनसली कार्य करने के लिए किया जा सकता है। SwingUtilities.invokeLater() मेथड SwingUtilities.invokeAndWait() की तरह काम करता है सिवाय इसके कि यह अनुरोध को इवेंट क्यू पर रखता है और तुरंत वापस