जब आप जावा कोड या प्रोग्राम चलाते हैं, तो यह या तो संकलित और निष्पादित करेगा या एक त्रुटि फेंक देगा। जब कोई कोड फेंकता है, तो यह या तो किसी त्रुटि या अपवाद का परिणाम होता है।
एक त्रुटि अधिक गंभीर है। यह कोड के दायरे से बाहर होता है लेकिन उस वातावरण के भीतर होता है जिसमें एप्लिकेशन चल रहा है। प्रोग्राम से किसी त्रुटि को पकड़ने और संभालने की अपेक्षा नहीं की जाती है।
त्रुटियों के कुछ उदाहरण हैं
अपवाद कोड के दायरे में होते हैं। इसे निष्पादन त्रुटि के रूप में भी जाना जाता है जिसका अर्थ है कि यह कोड के निष्पादन के दौरान होता है। प्रोग्रामर से किसी प्रोग्राम में अपवादों को पकड़ने और संभालने की अपेक्षा की जाती है।
यह पोस्ट विशेष रूप से अपवादों और रनटाइम त्रुटियों पर अधिक ध्यान केंद्रित करेगी। आप अपवादों के बारे में और अपने जावा प्रोग्राम में अपवाद त्रुटियों को संभालने के तरीके के बारे में सब कुछ सीखेंगे।
जावा में तीन प्रकार की निष्पादन त्रुटियां हैं। यहां उनमें से प्रत्येक का विवरण दिया गया है
इस प्रकार की त्रुटि को संकलन त्रुटि या चेक की गई त्रुटि के रूप में जाना जाता है। एक जावा प्रोग्राम संकलन चरण के दौरान इस कोड को फेंकता है।
दूसरे शब्दों में, यह त्रुटि तब होती है जब जावैक कोड को बाइटकोड में संकलित किया जा रहा है। संकलन-समय त्रुटि आमतौर पर कोड सिंटैक्स में त्रुटि के कारण होती है।
उदाहरण के लिए, जब प्रोग्रामर किसी स्टेटमेंट के अंत में अर्धविराम जोड़ने में विफल रहता है या प्रिंटिंग से पहले एक वेरिएबल को प्रारंभ करने में विफल रहता है।
public class JavaExceptionCodes { public static void main (String []args){ int y = 10 //no semicolon System.out.println(y); } }
रन-टाइम त्रुटि को अपवाद त्रुटि या अनियंत्रित त्रुटि के रूप में भी जाना जाता है। यह तब होता है जब प्रोग्राम निष्पादित किया जा रहा होता है। कोड संकलित होगा लेकिन रनटाइम के दौरान एक त्रुटि उत्पन्न होगी।
रनटाइम त्रुटि को आगे अंतर्निहित अपवादों या उपयोगकर्ता-परिभाषित अपवादों में वर्गीकृत किया जा सकता है। अंतर्निहित अपवादों के उदाहरणों में शामिल हैं:
उदाहरण के लिए यदि कोई उपयोगकर्ता स्ट्रिंग के बजाय एक इंट इनपुट करता है या किसी सरणी के आकार से बड़ा मान डालता है।
public class JavaExceptionCodes { public static void main (String []args) { int nombas[] = {1, 2, 3, 4, 5}; System.out.println(nombas[6]); } } //ArrayIndexOutOfBoundsException
इसे सिमेंटिक त्रुटि के रूप में भी जाना जाता है, यह तब होता है जब किसी प्रोग्राम के तार्किक आउटपुट में कोई त्रुटि होती है। उदाहरण के लिए, 3 3 7 का आउटपुट दिखाता है, या जब आप अपने खाते में लॉग इन करते हैं और किसी अन्य प्रोफ़ाइल पर पहुंचते हैं।
संकलन-समय त्रुटि को पकड़ना सबसे आसान है क्योंकि आपकी आईडीई हमेशा प्रोग्रामर को इस त्रुटि के बारे में बताएगी। तार्किक त्रुटि अधिकांश बार देखने में सबसे कठिन त्रुटि होती है क्योंकि कोड कोई संकलन समय या रनटाइम त्रुटि नहीं देगा।
अपवाद हैंडलिंग का उपयोग किसी प्रोग्राम में त्रुटियों को पकड़ने और प्रोग्राम के निष्पादन के सामान्य प्रवाह को बनाए रखने के लिए किया जाता है। आमतौर पर, एक बार जब कोई प्रोग्राम कोई त्रुटि उत्पन्न करता है, तो कोड निष्पादित होना बंद हो जाएगा।
त्रुटियों को पहले से पकड़ने और संभालने से प्रोग्राम त्रुटियों वाले कोड के ब्लॉक को छोड़ सकेगा और बाकी प्रोग्राम को निष्पादित करना जारी रख सकेगा।
कोशिश करें - पकड़ें - अंत में - फेंकें - फेंकें जावा में अपवाद प्रबंधन के तरीकों की सूची है। आइए उनमें से प्रत्येक को उदाहरणों के साथ विस्तार से बताएं:
Try का उपयोग किसी पंक्ति या कोड के ब्लॉक को संलग्न करने के लिए किया जाता है जो अपवाद फेंक सकता है। एक नेस्टेड प्रयास भी है जो आंतरिक प्रयास ब्लॉक के साथ एक प्रयास है। वे एक ही उद्देश्य पूरा करते हैं।
वाक्य - विन्यास
try{ }
कैच कोड का एक ब्लॉक है जिसका उपयोग ट्राई ब्लॉक में हुई त्रुटियों को पकड़ने के लिए किया जाता है।
वाक्य - विन्यास
try{ } catch (Exception e){ }
एकाधिक कैच ब्लॉक
public class JavaExceptionCodes { public static void main (String []args) { int x = 10; int y = 0; int z ; int nombas [] = {5, 6, 7, 8, 9}; try { System.out.println(z = x / y); System.out.println(nombas[6]); } catch (ArithmeticException e){ System.out.println("Can't divide by 0. Choose another number" e); } catch(ArrayIndexOutOfBoundsException e){ System.out.println("Array Out Of Bound" e); } System.out.println("End"); } }
अंत में, कोड का एक वैकल्पिक ब्लॉक है, जिसे आम तौर पर प्रयास और पकड़ने वाले कोड ब्लॉक के बाद रखा जाता है। इसका उपयोग महत्वपूर्ण कोड निष्पादित करने के लिए किया जाता है। अंततः ब्लॉक हमेशा निष्पादित होता है, चाहे प्रोग्राम कोई त्रुटि देता हो या नहीं।
वाक्य - विन्यास
try{ } catch (Exception e){ } finally{ }
थ्रो एक कीवर्ड है जिसका उपयोग किसी विधि या कोड के ब्लॉक के अंदर अपवाद फेंकने के लिए किया जाता है।
वाक्य - विन्यास
public class JavaExceptionCodes { public static void main (String []args) { try { throw new ArithmeticException("Try Run"); } catch (ArithmeticException e){ System.out.println("Catch Exception Error"); } } }
थ्रो कीवर्ड के विपरीत, थ्रो कीवर्ड का उपयोग अपवाद को फेंकने के लिए नहीं किया जाता है। हालाँकि, यह निर्दिष्ट करता है कि विधि में एक अपवाद हो सकता है। थ्रो का उपयोग विधि हस्ताक्षर में किया जाता है न कि विधि के अंदर।
एक प्रयास ब्लॉक में कई कथन (कोड की पंक्तियाँ) हो सकते हैं। प्रत्येक कथन में त्रुटि पकड़ने के लिए एकाधिक कैच ब्लॉक बनाना सबसे अच्छा है।
यदि आप एकाधिक कैच ब्लॉक के साथ काम कर रहे हैं तो हमेशा अपवाद का प्रकार निर्दिष्ट करें।
यदि किसी प्रयास ब्लॉक में एकाधिक कथन हैं और आप त्रुटि वाले कथन को नहीं जानते हैं, तो अज्ञात त्रुटियों को पकड़ने के लिए अन्य अपवादों के अंत में एक अंतिम सामान्य अपवाद बनाएं।
सामान्य अपवाद कैच ब्लॉक को हमेशा अन्य कस्टम अपवाद कैच ब्लॉक के अंत में रखें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3