जावा में अगम्य कथन कोड त्रुटि को कैसे हल करें?

Java Mem Agamya Kathana Koda Truti Ko Kaise Hala Karem



डेवलपर्स द्वारा सामना की जाने वाली सबसे आम त्रुटि अगम्य कथन कोड है क्योंकि यह छिपा हुआ है और निष्पादित करते समय कोई त्रुटि उत्पन्न नहीं करता है। यह हिस्सा एक तरह से छिपा हुआ है, क्योंकि कंपाइलर कोड के इस हिस्से को विजिट या कंपाइल नहीं करता है क्योंकि यह एक ऐसे स्थान पर है जो कोड के लिए अगम्य खंड है।

यह आलेख जावा में अगम्य कथन कोड त्रुटि को संभालने की प्रक्रिया को प्रदर्शित करता है।

जावा में अगम्य स्टेटमेंट कोड त्रुटि को कैसे हल करें?

संबंधित समाधानों के साथ जावा में अगम्य स्टेटमेंट कोड त्रुटियों के कई कारण हो सकते हैं। यह त्रुटि सिंटैक्स-आधारित नहीं है, यह विशुद्ध रूप से एक तार्किक त्रुटि है या कुछ मामलों में मानवीय त्रुटि के कारण हो सकती है। समाधानों पर जाने से पहले, आइए पहले उन कारणों पर जाएँ जो अगम्य कथन कोड त्रुटियों का कारण हो सकते हैं:







कारण 1: 'ब्रेक' कथन के बाद डाला गया कोड



' तोड़ना 'स्टेटमेंट का उपयोग निर्णय लेने वाले स्टेटमेंट और लूप के साथ किया जाता है। वांछित स्थिति तक पहुँचने पर यह निष्पादन चक्र को रोक देता है। कंपाइलर उस लाइन तक नहीं पहुंचता है जो 'के आगे आती है' तोड़ना ”उस ब्लॉक में बयान। कंपाइलर निष्पादन चक्र को रोकता है और DOM पदानुक्रम में अगले कथन की ओर बढ़ता है।



नीचे दिए गए कोड पर जाएँ:





कक्षा आधा {
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) {
के लिए ( int यहाँ मैं = 0 ; मैं <= 10 ; ++ मैं ) {
अगर ( मैं == 5 ) {
तोड़ना ;
प्रणाली . बाहर . println ( मैं ) ;
}
}
}
}

उपरोक्त कोड को 'से मान प्रदर्शित करना चाहिए' 0 ' को ' 4 ”। लेकिन, के बाद बयान के उपयोग के साथ ' तोड़ना ' कथन अगम्य कथन त्रुटि उत्पन्न होती है:



आउटपुट एक अगम्य कथन त्रुटि की घटना को दर्शाता है।

समाधान: 'ब्रेक' कथन के ऊपर कोड डालने का प्रयास करें

समाधान ब्लॉक के बाहर बयान का उपयोग करना है जिसमें ' अवरोध पैदा करना ” कथन का प्रयोग किया जाता है। उदाहरण के लिए, उपरोक्त कोड सटीक रूप से निष्पादित होता है यदि कथन 'के बाहर रखा गया हो' अगर 'स्टेटमेंट ब्लॉक जैसा कि नीचे दिखाया गया है:

आईडीई से उपरोक्त स्नैपशॉट से पता चलता है कि अब अगम्य कथन कोड त्रुटि हल हो गई है।

कारण 2: 'जारी रखें' कथन के बाद डाला गया कोड

' जारी रखना ”कथन का उपयोग तब किया जाता है जब प्रोग्रामर लूप द्वारा निष्पादित होने के लिए एक विशिष्ट पुनरावृत्ति को छोड़ना चाहता है। कंपाइलर निष्पादन चक्र को तोड़ देता है जब भी वह 'पाता है' जारी रखना 'कोड में कथन। इसीलिए 'के बाद कोड निष्पादित किया गया जारी रखना ' कथन 'पहुंच योग्य कथन कोड' त्रुटि का कारण बनता है:

कक्षा आधा {
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) {
के लिए ( int यहाँ मैं = 0 ; मैं <= 10 ; ++ मैं ) {
अगर ( मैं == 5 ) {
जारी रखना ;
प्रणाली . बाहर . println ( मैं ) ;
}
}
}
}

उपरोक्त कोड का आउटपुट इस तरह दिखता है:

आउटपुट दिखाता है कि 'पहुंचने योग्य कोड त्रुटि' हुई है।

समाधान: 'जारी रखें' स्टेटमेंट ब्लॉक के बाहर कोड डालें

इसे हल करने के लिए, बस 'के बाहर कोड का उपयोग करें' जारी रखना 'स्टेटमेंट ब्लॉक:

स्थिति बदलने के बाद, त्रुटि स्वतः हल हो जाती है।

कारण 3: 'वापसी' कथन के बाद डाला गया कोड

यह परिदृश्य ऊपर जैसा ही है, कंपाइलर कोड के उस हिस्से को छोड़ देता है जिसे 'के बाद रखा गया है' वापस करना ' कथन। ऐसा इसलिए है क्योंकि ' वापस करना ” कथन वह अंत है जिसके बाद संकलक के पास प्रदर्शन करने के लिए कुछ नहीं होता जैसा कि नीचे स्नैपशॉट में दिखाया गया है:

समाधान: मुख्य () विधि में 'वापसी' कथन के बाद कोड डाला गया

इसे हल करने के लिए, 'के बाद कोड दर्ज करें' वापस करना 'मुख्य () विधि में कथन:

कारण 4: 'फेंक' कथन के बाद डाला गया कोड

कोड की पंक्ति 'के बाद डाली गई फेंकना 'में बयान' कोशिश ” संकलक द्वारा असंकलित ब्लॉक छोड़ देता है। उदाहरण के लिए, नीचे दिए गए कोड पर जाएँ:

कक्षा आधा {
जनता स्थिर खालीपन मुख्य ( डोरी [ ] तर्क ) // मुख्य () विधि का निर्माण
{
कोशिश {
फेंकना नया अपवाद ( 'पहला अपवाद' ) ;
प्रणाली . बाहर . println ( 'थ्रो अपवाद के बाद' ) ;
}
पकड़ना ( अपवाद ) {
प्रणाली . बाहर . println ( क। getMessage ( ) ) ;
}
}
}

उपरोक्त कोड में, एक डमी संदेश प्रदर्शित करें जो 'के बाद लिखा गया है' फेंकना 'कीवर्ड।

उपरोक्त कोड के निष्पादन के बाद:

उपरोक्त स्नैपशॉट 'पहुंच योग्य कोड त्रुटि' के बाद कोड के उपयोग के कारण 'पहुंच योग्य कोड त्रुटि' की घटना को दर्शाता है फेंकना ' कथन।

समाधान: “फेंक” कीवर्ड से पहले कोड डालें

इसे हल करने के लिए, 'से पहले दिनांक सम्मिलित करने का प्रयास करें फेंकना ' कथन। उदाहरण के लिए, त्रुटि-समाधान कोड के नीचे स्नैपशॉट पर जाएँ:

उपरोक्त आउटपुट से पता चलता है कि अपवाद हटा दिया गया है और कोड अब ठीक से काम कर रहा है।

निष्कर्ष

' अगम्य बयान कोड “त्रुटि तब उत्पन्न होती है जब कोड की पंक्ति उस स्थान पर लिखी जाती है जो संकलक द्वारा अगम्य है। संभावित स्थान 'ब्लॉक स्टेटमेंट के बाद', 'कंटीन्यू स्टेटमेंट के बाद', 'रिटर्न स्टेटमेंट के बाद' या 'थ्रो स्टेटमेंट के नीचे', आदि हैं। यह एक तार्किक त्रुटि है और कोड की कई बार समीक्षा करके इसे आसानी से हल किया जा सकता है। और जिस तरह से संकलक कोड संकलित करता है उसे समझना।