प्रोग्रामिंग त्रुटियां एप्लिकेशन के काम करने के तरीके में खामियां हैं। उन्हें आमतौर पर "बग" के रूप में जाना जाता है, इसलिए शब्द "डीबगिंग"।

एक डेवलपर के रूप में, आप स्वयं को बग्स को ठीक करने में बहुत समय व्यतीत करते हुए पाएंगे। आपको मिलने वाली कई त्रुटियां सामान्य हैं, और उन्हें जानने से आपको पहली बार में उन्हें रोकने में मदद मिलेगी।

यहां आपको इन तीन प्रकार की प्रोग्रामिंग त्रुटियों के बारे में जानने की जरूरत है और आप उनसे कैसे बचाव कर सकते हैं:

1. रनटाइम या निष्पादन त्रुटियाँ

ये त्रुटियां हैं जो तब होती हैं जब कोई प्रोग्राम निष्पादित होता है (यानी रनटाइम पर)। वे एक प्रोग्राम को ठीक से निष्पादित नहीं कर सकते हैं या बिल्कुल भी नहीं चल सकते हैं।

घातक रनटाइम त्रुटियों के कारण प्रोग्राम निष्पादन रुक जाता है जबकि गैर-घातक वाले निष्पादन को समाप्त कर देते हैं, लेकिन गलत परिणामों के साथ।

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

instagram viewer

इसलिए, शून्य से विभाजन जावा कंपाइलर में अंकगणितीय अपवाद की ओर जाता है।

2. तर्क त्रुटियाँ

तर्क त्रुटि त्रुटिपूर्ण तर्क के कारण होती है। यह ध्यान रखना महत्वपूर्ण है कि ये त्रुटियां आपके द्वारा की गई "गलती" के कारण जरूरी नहीं हैं। वे हो सकते हैं क्योंकि आपने एक निश्चित निष्पादन परिदृश्य पर विचार नहीं किया।

उन्हें संभालना सबसे कठिन है। ऐसा इसलिए है क्योंकि तर्क त्रुटि वाला कोड उस भाषा में एक मान्य प्रोग्राम है जिसमें इसे लिखा गया है। इसलिए, यह एक कंपाइलर त्रुटि नहीं फेंकेगा। एकमात्र मुद्दा यह है कि यह गलत परिणाम देता है।

एक घातक तर्क त्रुटि प्रोग्राम निष्पादन को रोक देगी जबकि एक गैर-घातक प्रोग्राम निष्पादन को जारी रखने की अनुमति देगा लेकिन गलत परिणामों के साथ।

एक सामान्य तर्क त्रुटि एक-एक-एक त्रुटि है। यह आमतौर पर तब होता है जब लूप-निरंतरता की स्थिति बताते हैं। मान लें कि आप पहले पांच वर्ग संख्याओं का प्रिंट आउट लेना चाहते हैं।

सम्बंधित: सबसे आम प्रोग्रामिंग और कोडिंग गलतियाँ

आप अपने लूप के लिए नीचे दिए गए कोड को लिखना समाप्त कर सकते हैं, जो केवल पहले चार ऐसे नंबर देता है।

के लिए (इंट एक्स = 1; एक्स <5; x++){ System.out.ln (x*x); }

ऐसी त्रुटि से बचने के लिए, आप इसके बजाय <= चिह्न का उपयोग कर सकते हैं। कम-से-या-बराबर-चिह्न का उपयोग करना अधिक सहज है और इसलिए आपके संबंधपरक संचालन को मिलाने की संभावना कम होगी।

एक अन्य सामान्य तर्क त्रुटि एक नियंत्रण कथन के दोनों ब्रेसिज़ को छोड़ रही है और फिर भी नीचे का शरीर कोड का एक ब्लॉक बनाता है जो इसके नियंत्रण में है।

नीचे दिए गए उदाहरण को देखें। यह जांचता है कि कोई यादृच्छिक संख्या विषम या सम है, फिर एक आउटपुट प्रिंट करता है।

आयात java.util. यादृच्छिक;
पब्लिक क्लास ऑड ईवन {
सार्वजनिक स्थैतिक शून्य main (String [] args) {
रैंडम नंबर जेनरेटर = नया रैंडम ();
int randomNumber = numberGenerator.nextInt (10);
अगर ((यादृच्छिक संख्या% 2) == 0)
System.out.println ("यहाँ आपका भाग्यशाली नंबर है:" + randomNumber);
System.out.println ("संख्या "+ randomNumber +" जो आपको मिली है वह सम है"); // लाइन 11
}
}

नोटिस लाइन 11. इस पर ध्यान दिए बिना कि आपको यादृच्छिक संख्या सम है या नहीं, यह हमेशा निष्पादित होगा। यह निश्चित रूप से तार्किक रूप से गलत होगा जब आपको जो संख्या मिली है वह विषम है।

दोनों सहित System.out.println ब्रेसिज़ { } के बीच के बयान इससे बच सकते थे।

सम्बंधित: सॉफ्टवेयर विकास कदम सभी प्रोग्रामर को पता होना चाहिए

देखने के लिए एक और तर्क त्रुटि लूप समाप्ति की स्थिति प्रदान नहीं कर रही है। इसके परिणामस्वरूप एक अनंत लूप होगा और आपका प्रोग्राम कभी भी निष्पादन समाप्त नहीं करेगा।

3. सिंटैक्स या संकलन-समय त्रुटियाँ

ये जावा के भाषा नियमों के उल्लंघन के कारण हुई त्रुटियां हैं। उन्हें संकलन या संकलन-समय त्रुटियां भी कहा जाता है।

ये सबसे आसान त्रुटियों को संभालना है क्योंकि आपका कंपाइलर हमेशा उनकी रिपोर्ट करेगा। कई कंपाइलर भी आगे बढ़ते हैं और आपको बताते हैं कि आपके कोड में त्रुटि है।

दोष सहिष्णुता

सॉफ़्टवेयर समस्याओं से निपटने का एक व्यावहारिक तरीका अपवाद हैंडलिंग को शामिल करके दोष सहिष्णुता को नियोजित करना है। आप उपयोग कर सकते हैं पकड़ने की कोशिश इसे प्राप्त करने के लिए बयान।

में पकड़े गए अपवाद की परवाह किए बिना कार्यक्रम के निष्पादन को जारी रखने के लिए पकड़ ब्लॉक करें, का उपयोग करें आखिरकार बयान।

वाक्यविन्यास है:

कोशिश करें {// यदि कोई समस्या नहीं है तो निष्पादित करने के लिए ब्लॉक करें} 
पकड़ (अपवाद ई) {
// मिली समस्याओं को संभालने के लिए ब्लॉक करें
}आखिरकार{ // कैच के बाद निष्पादित करने के लिए ब्लॉक करें
}

नीचे दिए गए कोड उदाहरण देखें:

आयात java.util. यादृच्छिक;
पब्लिक क्लास रैंडम नंबर {
सार्वजनिक स्थैतिक शून्य main (String [] args) {
रैंडम नंबर जेनरेटर = नया रैंडम ();
प्रयत्न{
के लिए (इंट काउंटर = 10; काउंटर<=100; काउंटर++){
int randomNumber = numberGenerator.nextInt (10);
System.out.println (काउंटर/रैंडम नंबर); } }
पकड़ (अपवाद ई) {
System.out.println ("शून्य से विभाजन का सामना करना पड़ा!");
}
आखिरकार{
System.out.println ("अनंत मान मिला");}
}
}

उपरोक्त प्रोग्राम शून्य और 10 के बीच एक यादृच्छिक संख्या उत्पन्न करता है, और फिर उस संख्या का उपयोग काउंटर मान को 10 और 100 के बीच विभाजित करने के लिए करता है। यदि शून्य से विभाजन होता है, तो सिस्टम त्रुटि पकड़ता है और एक संदेश प्रदर्शित करता है।

कोडिंग में बेहतर बनें

अपने कोड में टिप्पणियां जोड़ना अच्छा अभ्यास है। बग होने पर यह आपकी फ़ाइलों को आसानी से सुलझाने में आपकी सहायता करेगा। मजबूत कोडिंग प्रथाओं को विकसित करने के लिए एक छोटा, लेकिन बहुत महत्वपूर्ण कदम।

अच्छी कोडिंग प्रथाओं के साथ, आपको सामान्य प्रोग्रामिंग गलतियों से बचने में सक्षम होना चाहिए।

ईमेल
कोडिंग क्या है और यह कैसे काम करती है?

कोडिंग के बारे में उलझन में? स्क्रिप्टिंग समझ में नहीं आ रहा है? यहां आपको प्रोग्रामिंग के बिल्डिंग ब्लॉक्स के बारे में जानने की जरूरत है।

आगे पढ़िए

संबंधित विषय
  • प्रोग्रामिंग
  • जावा
  • कोडिंग टिप्स
लेखक के बारे में
जेरोम डेविडसन (14 लेख प्रकाशित)

जेरोम MakeUseOf में स्टाफ राइटर हैं। वह प्रोग्रामिंग और लिनक्स पर लेख शामिल करता है। वह एक क्रिप्टो उत्साही भी है और हमेशा क्रिप्टो उद्योग पर नजर रखता है।

जेरोम डेविडसन की अन्य फ़िल्में-टीवी शो

हमारे न्यूज़लेटर की सदस्यता

तकनीकी युक्तियों, समीक्षाओं, निःशुल्क ई-पुस्तकों और अनन्य सौदों के लिए हमारे न्यूज़लेटर से जुड़ें!

एक और क़दम…!

कृपया उस ईमेल में अपने ईमेल पते की पुष्टि करें जिसे हमने अभी आपको भेजा है।

.