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

Java में NumberFormatException (अनचेक) को कैसे हैंडल करें?


NumberFormatException एक अनियंत्रित . है अपवाद द्वारा फेंका गया parseXXX() विधियाँ जब वे प्रारूप . में असमर्थ होती हैं (रूपांतरित) एक एक संख्या में स्ट्रिंग

NumberFormatException कई विधियों/निर्माताओं . द्वारा फेंका जा सकता है java.lang . की कक्षाओं में पैकेट। उनमें से कुछ निम्नलिखित हैं।

  • सार्वजनिक स्थैतिक int parseInt(String s) NumberFormatException फेंकता है
  • सार्वजनिक स्थैतिक बाइट मानOf(String s) NumberFormatException को फेंकता है
  • सार्वजनिक स्थैतिक बाइट parseByte(String s) NumberFormatException फेंकता है
  • सार्वजनिक स्थैतिक बाइट parseByte(String s, int radix) NumberFormatException फेंकता है
  • सार्वजनिक पूर्णांक (स्ट्रिंग एस) NumberFormatException फेंकता है
  • सार्वजनिक बाइट(स्ट्रिंग एस) NumberFormatException फेंकता है

प्रत्येक विधि के लिए परिभाषित स्थितियां हैं, जहां यह एक NumberFormatException . फेंक सकती है . उदाहरण के लिए, सार्वजनिक स्थैतिक int parseInt(String s) NumberFormatException को फेंकता है जब

  • स्ट्रिंग s शून्य है या s की लंबाई शून्य है।
  • यदि स्ट्रिंग s में गैर-संख्यात्मक वर्ण हैं।
  • स्ट्रिंग s का मान एक पूर्णांक का प्रतिनिधित्व नहीं करता है।

उदाहरण1

public class NumberFormatExceptionTest {
   public static void main(String[] args){
      int x = Integer.parseInt("30k");
      System.out.println(x);
   }
}

आउटपुट

Exception in thread "main" java.lang.NumberFormatException: For input string: "30k"
       at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
       at java.lang.Integer.parseInt(Integer.java:580)
       at java.lang.Integer.parseInt(Integer.java:615)
       at NumberFormatExceptionTest.main(NumberFormatExceptionTest.java:3)
पर


NumberFormatException को कैसे हैंडल करें

हम NumberFormatException . को संभाल सकते हैं दो तरह से

  • कोड के आस-पास ट्राई एंड कैच ब्लॉक का उपयोग करें जिससे NumberFormatException हो सकता है ।
  • )अपवाद को संभालने का दूसरा तरीका थ्रो . का उपयोग है कीवर्ड।

उदाहरण2

public class NumberFormatExceptionHandlingTest {
   public static void main(String[] args) {
      try {
         new NumberFormatExceptionHandlingTest().intParsingMethod();
      } catch (NumberFormatException e) {
         System.out.println("We can catch the NumberFormatException");
      }
   }
   public void intParsingMethod() throws NumberFormatException{
      int x = Integer.parseInt("30k");
      System.out.println(x);
   }
}

उपरोक्त उदाहरण में, विधि intParsingMethod() Integer.parseInt(“30k”) द्वारा फेंकी गई अपवाद वस्तु को फेंकता है इसकी कॉलिंग विधि के लिए, जो कि मुख्य() . है इस मामले में विधि।

आउटपुट

We can catch the NumberFormatException

  1. जावा में ArrayStoreException (अनचेक) को कैसे संभालें?

    java.lang.ArrayStoreException एक अनियंत्रित . है अपवाद और यह तब हो सकता है जब हम किसी प्रकार की वस्तु को भिन्न प्रकार की वस्तुओं की एक सरणी में संग्रहीत करने का प्रयास करते हैं। आमतौर पर, कोई java.lang.ArrayStoreException:java.lang.Integer पर आ जाएगा। जो तब होता है जब एक पूर्णांक को विभिन्न प्रका

  1. जावा में अंकगणित अपवाद (अनचेक) को कैसे संभालें?

    java.lang.ArithmeticException एक अनचेक अपवाद . है जावा में। आमतौर पर, किसी को java.lang.ArithmeticException:/ by शून्य . मिलता है जो तब होता है जब दो संख्याओं को विभाजित करने . का प्रयास किया जाता है और भाजक में संख्या शून्य है . अंकगणित अपवाद वस्तुओं का निर्माण JVM . द्वारा किया जा सकता है । उदाहर

  1. जावा में रनटाइम अपवाद को कैसे संभालें?

    रनटाइम अपवाद जावा प्रोग्रामिंग भाषा के सभी अपवादों में मूल वर्ग है, जिसके होने पर प्रोग्राम या एप्लिकेशन के क्रैश या टूटने की उम्मीद की जाती है। अपवादों के विपरीत जिन्हें रनटाइम अपवाद नहीं माना जाता है, रनटाइम अपवादों की कभी जांच नहीं की जाती है। रनटाइम अपवाद आमतौर पर उस स्थिति के बजाय प्रोग्रामर क