Java.lang.NullPointerException को कैसे हल करें

Java Lang Nullpointerexception Ko Kaise Hala Karem



प्रोग्रामिंग भाषाओं में, त्रुटियों का सामना करना हमें डेवलपर को संकेत देकर उचित रूप से विभिन्न प्रकार्यात्मकताओं को निष्पादित करने की अनुमति देता है। ऐसे मामले में, ऐसे उदाहरण हो सकते हैं जहां डेवलपर 'का सामना कर सकता है' java.lang.NullPointerException 'एक विशेष पर' व्यर्थ ” बल्क डेटा के साथ व्यवहार करते समय मूल्य। कोड कार्यात्मकताओं को सुव्यवस्थित करने के लिए इस अपवाद को नियंत्रित करने की आवश्यकता है।

यह ब्लॉग 'से निपटने के दृष्टिकोणों पर विस्तार से बताएगा' java.lang.NullPointerException ”।







'Java.lang.NullPointerException' को कैसे हल करें?

' java.lang.NullPointerException ' वापस लौटाया जाता है जब एक संदर्भ चर लागू किया जाता है (या डी-रेफरेंस किया जाता है) और किसी ऑब्जेक्ट का जिक्र नहीं कर रहा है।



'Java.lang.NullPointerException' का प्रदर्शन

नीचे दिए गए उदाहरण में, हम देखेंगे कि चर्चित अपवाद कैसे होता है:



स्ट्रिंग एस = अशक्त;
customFunc ( एस ) ;
स्थिर शून्य कस्टमFunc ( स्ट्रिंग स्ट्र ) {
System.out.println ( लंबाई ( ) ) ;
}


उपरोक्त कोड स्निपेट में:





    • सबसे पहले, एक स्ट्रिंग को 'के साथ प्रारंभ करें' व्यर्थ ' कीमत।
    • अगले चरण में, घोषित स्ट्रिंग को इसके तर्क के रूप में पारित करके फ़ंक्शन CustomFunc() को आमंत्रित करें।
    • उसके बाद, 'नामक फ़ंक्शन को परिभाषित करें' कस्टमफंक () ” एक स्ट्रिंग निर्दिष्ट करके जिसे इसके पैरामीटर के रूप में पारित करने की आवश्यकता है।
    • फ़ंक्शन परिभाषा में, पारित स्ट्रिंग की लंबाई 'के माध्यम से लौटाएं' लंबाई ' संपत्ति।
    • यह कोड इस तरह कार्य करेगा कि 'पास करके' व्यर्थ ' फ़ंक्शन का मूल्य, चर्चा किए गए अपवाद को फेंक दिया जाएगा:


उपरोक्त आउटपुट में, यह देखा जा सकता है कि ' शून्य सूचक का अपवाद 'आह्वान करने पर फेंक दिया जाता है' व्यर्थ 'एक फ़ंक्शन तर्क के रूप में।

दृष्टिकोण 1: 'कोशिश करें... पकड़ें' कथनों का उपयोग करके 'java.lang.NullPointerException' को हल करें

' कोशिश 'स्टेटमेंट एक कोड ब्लॉक को परिभाषित करने में सहायता करता है जिसे निष्पादित करते समय त्रुटियों के लिए परीक्षण करने की आवश्यकता होती है और' पकड़ना ” कथन प्रयास ब्लॉक में सामने आई सीमा के मामले में प्रभाव में आता है। अधिक विशेष रूप से, ' java.lang.NullPointerException '' कोशिश 'ब्लॉक में वांछित ऑपरेशन को लागू करके और संभावित अपवाद को' कैच 'ब्लॉक में रखकर पूरा किया जा सकता है।



वाक्य - विन्यास

कोशिश {
कोशिश करने के लिए कोड ब्लॉक
}
पकड़ना ( अपवाद ई ) {
सामना किए गए अपवाद को संभालने के लिए कोड ब्लॉक में कोशिश ब्लॉक
}


उदाहरण

आइए नीचे दिए गए उदाहरण का अवलोकन करें:

स्ट्रिंग एस = अशक्त;
customFunc ( एस ) ;
स्थिर शून्य कस्टमFunc ( स्ट्रिंग स्ट्र ) {
कोशिश {
System.out.println ( 'पहला चरित्र:' + str.indexOf ( 0 ) ) ;
}
पकड़ना ( NullPointerException ई ) {
System.out.println ( 'NullPointerException फेंका गया!' ) ;
} }


कोड की उपरोक्त पंक्तियों में:

    • आरंभ करने के लिए चर्चा किए गए दृष्टिकोणों को याद करें ' व्यर्थ ” मूल्य और इसके तर्क के रूप में शून्य मान को पास करके बताए गए फ़ंक्शन को लागू करें।
    • अब, इसी तरह, 'नामक फ़ंक्शन को परिभाषित करें' कस्टमफंक () ” स्ट्रिंग को इसके पैरामीटर के रूप में पारित किया जाना है।
    • उसके बाद, 'लागू करें कोशिश 'के माध्यम से एक स्ट्रिंग में निर्दिष्ट वर्ण की अनुक्रमणिका लाने के लिए कथन' के सूचकांक() ' तरीका।
    • ध्यान दें कि ' कोशिश 'यदि स्ट्रिंग शून्य नहीं है तो कथन निष्पादित किया जा सकता है। चूंकि मूल्य है ' व्यर्थ ', इसलिए एक अपवाद का सामना करना पड़ेगा जिसे 'द्वारा नियंत्रित किया जाएगा पकड़ना ' कथन।

उत्पादन


उपरोक्त आउटपुट में, यह देखा जा सकता है कि निर्दिष्ट अपवाद को ' पकड़ना ” बयान और इसलिए इसे फेंक दिया जाता है, जिससे इसका समाधान होता है।

दृष्टिकोण 2: 'if/else' कथन का उपयोग करके 'java.lang.NullPointerException' को हल करें

चर्चा किए गए अपवाद को 'के माध्यम से भी हल किया जा सकता है' यदि नहीं तो ' कथन। यह केवल 'में वांछित ऑपरेशन करके किया जा सकता है' अगर 'कथन और असंतुष्ट स्थिति पर, एक अपवाद' के माध्यम से लौटाया जाता है अन्य ' कथन।

वाक्य - विन्यास

अगर ( सशर्त ) {
संतुष्ट होने की स्थिति अर्थात 'शर्त' पर निष्पादित होने वाला बयान
}
अन्य {
असंतुष्ट पर निष्पादित होने वाला कथन 'अगर' स्थिति।
}


उदाहरण

अपवाद से निपटने की समझ रखने के लिए निम्न उदाहरण देखें:

स्ट्रिंग एस = अशक्त;
customFunc ( एस ) ;
स्थिर शून्य कस्टमFunc ( स्ट्रिंग स्ट्र ) {
अगर ( एसटीआर ! = अशक्त ) {
System.out.println ( 'पहला चरित्र:' + str.indexOf ( 0 ) ) ;
}
अन्य {
System.out.println ( 'NullPointerException फेंका गया!' ) ;
}
}


उपरोक्त कोड में दिए गए अनुसार नीचे दिए गए चर्चित चरणों को लागू करें:

    • एक अशक्त मान को आरंभ करने के लिए चर्चा किए गए चरणों को दोहराएं और 'पास करके फ़ंक्शन को लागू करें' व्यर्थ ” मूल्य इसके तर्क के रूप में।
    • अगला, इसी तरह फ़ंक्शन घोषित करें ' कस्टमफंक () ”निर्दिष्ट पैरामीटर होने।
    • अब, लागू करें ' यदि नहीं तो 'कथन ऐसा है कि संतुष्ट स्थिति में' अगर ” कथन, संबंधित ब्लॉक निष्पादित करता है।
    • दूसरे मामले में, ' अन्य ”ब्लॉक प्रभाव में आएगा और चर्चा किए गए अपवाद को फेंक देगा।
    • ध्यान दें कि स्थिति में ' अगर ” बयान पिछले दृष्टिकोण के समान है, जिससे यह गलत है।

उत्पादन


इस तरह आप 'को संभाल सकते हैं' java.lang.NullPointerException ”।

निष्कर्ष

' java.lang.NullPointerException ' वापस लौटाया जाता है जब एक संदर्भ चर का आह्वान किया जाता है या डी-रेफरेंस किया जाता है और किसी ऑब्जेक्ट का संदर्भ नहीं दे रहा है। इस अपवाद को '' में रखकर नियंत्रित किया जा सकता है। पकड़ने की कोशिश 'कथन ऐसा है कि निष्पादित करने पर' कोशिश ”ब्लॉक, सामना किए गए अपवाद को बाद वाले ब्लॉक द्वारा पूरा किया जा सकता है। यह भी ' यदि नहीं तो इस अपवाद को हल करने के लिए कथन का उपयोग 'में रखकर किया जा सकता है' अन्य 'बयान अगर' अगर 'कथन निष्पादित करने में विफल रहता है। इस ब्लॉग ने 'से निपटने के तरीकों पर चर्चा की' java.lang.NullPointerException ”।