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