Java/C3/Exception-Handling/Hindi
From Script | Spoken-Tutorial
Revision as of 23:46, 8 November 2017 by Jayarastogi (Talk | contribs)
|
|
00:01 | Exception Handling पर स्पोकन ट्यूटोरियल में आपका स्वागत है। |
00:06 | इस ट्यूटोरियल में हम सीखेंगे: exception क्या है, exceptions को चेक और अनचेक करना try-catch block और finally block का उपयोग करके exceptions को नियंत्रित करना। |
00:20 | यहाँ हम उपयोग कर रहे हैं Ubuntu Linux 16.04 OS JDK 1 .8 और Eclipse 4.3.1 |
00:32 | इस ट्यूटोरियल का अनुकरण करने के लिए आपको Java और Eclipse IDE का बुनियादी ज्ञान होना चहिए । |
00:39 | यदि नहीं है तो संबंधित जावा ट्यूटोरियल के लिए कृपया दिखाई गई वेबसाइट पर जाएँ। |
00:45 | एक exception अनपेक्षित घटना है, जो प्रोग्राम के निष्पादन के समय होती है। |
00:52 | यह प्रोग्राम के सामान्य फ्लो को बाधित करता है और परिणाम गलत होते हैं। |
01:00 | उनकी घटना के आधार पर exceptions को unchecked exceptions और checked exceptions के रूप में वर्गीकृत किया गया है। |
01:08 | अब हम eclipse खोलेंगे और ExceptionDemo नामक नया प्रोजेक्ट बनायेंगे। |
01:16 | इस प्रोजेक्ट में हम exception handling के प्रदर्शन के लिए आवश्यक क्लासेस बनायेंगे। |
01:24 | हम नया class Marks बनायेंगे। |
01:28 | अब Marks class को दर्शाने के लिए निम्न कोड टाइप करें। |
01:34 | यह प्रोग्राम 5 छात्रों के मार्क्स प्रिंट करता है, जो अरै marks' में संग्रहीत हैं। |
01:41 | इस प्रोग्राम को रन करें और आउटपुट का सत्यापन करें। |
01:45 | हम देख सकते हैं कि अरै में वेल्यूज प्रिंट हो रही हैं। |
01:50 | देखें कि क्या होगा यदि हम एक अरै एलिमेंट को एक्सेस करने की कोशिश कर रहे हैं जो मौजूद नहीं है। |
01:57 | निम्न कोड टाइप करें। |
02:00 | हम जानते हैं कि यहाँ हमारे अरै में केवल 5 एलिमेंट्स हैं। |
02:04 | लेकिन इस स्टेटमेंट में हम index 50 पर एलिमेंट एक्सेस करने की कोशिश कर रहे हैं जो मौजूद नहीं है। |
02:12 | इस प्रोग्राम को रन करें। |
02:15 | हम देख सकते हैं कि प्रोग्राम लाइन संख्या 7 पर एक मैसेज “ArrayIndexOutOfBoundsException के साथ टर्मिनेट होता है |
02:25 | एरर मैसेज exception का विवरण दर्शाता है जैसे exception का प्रकार यह कहाँ घटित हुआ और अन्य विवरण। |
02:35 | ध्यान दें कि print statement निष्पादित नहीं हुआ है क्योंकि प्रोग्राम एरर के बाद टर्मिनेट हो गया है। |
02:42 | यह Unchecked exception का एक उदाहरण है। |
02:46 | Unchecked exceptions को Runtime exception कहते हैं क्योंकि यह केवल निष्पादन के समय चेक होते हैं। |
02:54 | वे प्रोग्रामिंग बग्स और लॉजिकल एरर्स को नियंत्रित करते हैं जैसे कि शून्य से संख्या को विभाजित करना और एक अरै एलिमेंट एक्सेस करना जो मौजूद न हो। |
03:07 | अब सीखते हैं कि try catch blockका उपयोग करके exception कैसे नियंत्रित करें। |
03:13 | try block में कोड का यह भाग exception को रेज़ कर सकता है। |
03:19 | अनुरूपी catch block ऑब्जेक्ट e में exception का विवरण प्राप्त कर सकता है। |
03:26 | catch block में हम एरर मैसेज को प्रदर्शित करने या एरर से बचने के लिए कोड लिख सकते हैं। |
03:34 | अब eclipse पर जाएँ। |
03:37 | पहले कोड में try block को जोड़ें जो इस प्रकार के exception का कारण होता है। |
03:44 | अब हमें अनुरूपी catch block जोड़ना चाहिए। |
03:48 | निम्न कोड टाइप करें। |
03:51 | यहाँ हम कस्टम मैसेज “Array Overflow Exception occurred” प्रिंट कर रहे हैं। |
03:57 | राउंड ब्रैकेट्स में हमने ArrayIndexOutOfBoundsException का एक उदाहरण बनाया है। |
04:05 | अतः यह ब्लॉक ArrayIndexOutOfBoundsException के exceptions को कैच कर सकता है |
04:11 | अब प्रोग्राम रन करें। |
04:14 | हम देख सकते हैं कि एरर मैसेज प्रिंट होता है। |
04:18 | लेकिन इस समय उस प्रिंटिंग पर ध्यान दें marks array भी निष्पादित होता है। |
04:24 | इस तरह से हम exceptions नियंत्रित कर सकते हैं। |
04:27 | आगे देखते हैं कि विभिन्न catch blocks का उपयोग कैसे करें। |
04:32 | हम उनका उपयोग कर सकते हैं जब ब्लॉक द्वारा विभिन्न प्रकार के exceptions रेज़ होते हैं। |
04:38 | try block में निम्न कोड टाइप करें। |
04:42 | कोड की यह लाइन एक array element को जीरो द्वारा विभाजित करती है क्योंकि a की वेल्यू 0 है। |
04:49 | तो एक ArithmeticException पहले रेज़ होता है। |
04:53 | ArithmeticException को नियंत्रित करने के लिए एक औरcatch block जोड़ें। |
04:58 | मौजूदा catch block के बाद निम्न कोड टाइप करें। |
05:03 | प्रोग्राम को रन करें। |
05:06 | इस समय एरर मैसेज "Arithmetic Exception occurred" प्रिंट होता है क्योंकि यह पहले कैच हुआ। |
05:13 | कोड का बाकी भाग try catch block के बाहर निष्पादित होता है। |
05:19 | अब checked exceptions के बारे में सीखते हैं। |
05:23 | Checked exceptions compile time पर चेक होते हैं। |
05:27 | अतः उन्हें प्रोग्राम रन करने से पहले नियंत्रित करना जरूरी है। |
05:31 | उदाहरणस्वरूप: फाइल को एक्सेस करना जो मौजूद नहीं है या नेटवर्क सिस्टम को एक्सेस करना जब नेटवर्क डाउन हो। |
05:41 | अब Eclipse पर जाएँ और नया class MarksFile बनाएँ। |
05:47 | main method जोड़ें। |
05:50 | अब हमें कंप्यूटर में स्थित फाइल को पढ़ना चाहिए। |
05:54 | निम्न कोड टाइप करें। |
05:57 | यहाँ FileReader ऑब्जेक्ट fr null के रूप में इनिसिलीइज है। |
06:03 | FileReader ऑब्जेक्ट का उपयोग विशेष फाइल को एक्सेस करने और पढ़ने के लिए किया जा सकता है। |
06:08 | Eclipse एक एरर दिखायेगा। |
06:11 | एरर को सही करने के लिए इस पर क्लिक करें और import FileReader java dot io पर डबल क्लिक करें। |
06:19 | FileReader class को java dot io package से इंपोर्ट किया गया है। |
06:25 | हम package और इसके उपयोग के बारे में बाद के ट्यूटोरियल में सीखेंगे। |
06:31 | Marks नामक फाइल को एक्सेस करने के लिए, जो कि होम फोल्डर में स्थित है, निम्न कोड टाइप करें। |
06:40 | यहाँ दिखाए गए पाथ को अपने सिस्टम के होम फोल्डर के साथ बदलें। |
06:46 | एक एरर आती है। यह दर्शाती है कि कोड की यह लाइन FileNotFoundException बना सकती है। |
06:55 | एरर पर क्लिक करें और Surround with try/catch पर डबल क्लिक करें। |
07:00 | हम देख सकते हैं कि इस एरर को सही करने के लिए Eclipse स्वतः ही try catch block प्रविष्ट करता है। |
07:08 | हम समझ सकते हैं कि यह checked exception है। |
07:12 | अब देखते हैं कि finally block का उपयोग कैसे करें। |
07:16 | निम्न कोड टाइप करें। |
07:18 | finally block आमतौर पर try-catch block का अनुकरण करता है। |
07:22 | इस ब्लॉक का कोड निष्पादित होता है, चाहे exception हुआ हो या नहीं। इसमें print statement शामिल होता है। |
07:32 | अब finally block में फाइल रिफ्रेंस को बंद करें। |
07:37 | टाइप करेंfr dot close |
07:40 | अब Eclipse दर्शाता है कि यह एक IOException रेज़ करेगा। |
07:45 | एरर पर क्लिक करें और Surround with try/catch पर डबल क्लिक करें। |
07:51 | प्रोग्राम को रन करें। |
07:54 | हम देख सकते हैं कि FileNotFoundException मैसेज प्रिंट होता है। |
07:59 | ऐसा इसलिए क्योंकि हमारे होम फोल्डर में Marks नामक फाइल नहीं है। |
08:04 | हम NullPointerException भी देख सकते हैं क्योंकि fr की वेल्यू अभी भी नल है। |
08:12 | लेकिन हम देख सकते हैं कि finally block में print statement निष्पादित होता है। |
08:18 | अपने होम फोल्डर में Marks टेक्स्ट फाइल बनाएँ। |
08:23 | यदि आप विंडो यूजर हैं तो अपने लोकल ड्राइव में टेक्स्ट फाइल बनाएँ और पाथ निर्दिष्ट करें। |
08:29 | उदाहरण के लिए यह D:\\Marks.txt इस तरह निर्दिष्ट हो सकता है। |
08:37 | प्रोग्राम को फिर से रन करें। |
08:40 | हम सत्यापन कर सकते हैं कि Marks फाइल बनने के बाद वहाँ exceptions नहीं हैं। |
08:46 | “Inside finally block” प्रिंट होता है। |
08:50 | cleanup operation अर्थात FileReader ऑब्जेक्ट fr बंद करना, यह भी सफलतापूर्वक निष्पादित होता है। |
08:58 | इसी के साथ हम इस ट्यूटोरियल के अंत में आ गए हैं। |
09:02 | संक्षेप में.. |
09:04 | इस ट्यूटोरिल में हमने सीखा: Exception क्या है, Checked और Unchecked Exceptions , try-catch block और finally block का उपयोग करके Exceptions निष्पादित करना। |
09:17 | नियत-कार्य के रूप में NullPointerException नामक अन्य Runtime Exception के बारे में सीखें। |
09:24 | इस ट्यूटोरियल के Assignment लिंक में दिए गए Demo.java नामक जावा प्रोग्राम को देखें। |
09:31 | एक exception रेज़ होगा जब आप इस कोड को रन करेंगे। |
09:35 | कोड ज्ञात करें जो exception के लिए जिम्मेदार है। |
09:40 | try-catch block का उपयोग करके इसे सही करें। |
09:43 | निम्न लिंक पर उपलब्ध वीडियो स्पोकन ट्यूटोरियल प्रोजेक्ट को सारांशित करता है। कृपया इसे देखें। |
09:52 | स्पोकन ट्यूटोरियल प्रोजेक्ट टीम- स्पोकन ट्यूटोरियल का उपयोग कर कार्यशालाएं आयोजित करती है। ऑनलाइन परीक्षा पास करने वालों को प्रमाण पत्र देती है। अधिक जानकारी के लिए, कृपयाcontact@spoken-tutorial.org पर लिखें। |
10:04 | स्पोकन ट्यूटोरियल प्रोजेक्ट एमएचआरडी, भारत सरकार द्वारा समर्थित है।इस मिशन पर अधिक जानकारी यहां उपलब्ध है: |
10:15 | यह स्क्रिप्ट विकास द्वारा अनुवादित है। |
10:23 | IIT Bombay से मैं जया आपसे विदा लेती हूँ धन्यवाद। |