0:00
अजय को गैस आज के इस वीडियो में हम लोग बात करने वाले हैं फाइनली ब्लॉक के बारे में कि फाइनली ब्लॉ�
0:07
क्या होता है और क्यों इस्तेमाल करते हैं तो वर्ष थ्रोस देखा जावा में हम लोगों ने थ्रेड्स को देखा क�
0:13
देखा exception handling देखी और आज हम लोग बात करने जा रहे हैं कि क्यों आप लो�
0:18
इस्तेमाल करना चाहेंगे finally block ठीक है तो यहाँ पर क्या होता है finally
0:22
block ये चीज इतनी ज्यादा important नहीं है जितनी ज्यादा important है कि क�
0:26
इस्तेमाल करना है finally block को और in fact मैं कहूँगा कि finally block
0:29
बले ही हम लग यूजी क्यों करें और मैं आप लोगों को एक ऐसी सिचुएशन में डाल दूंगा इस वीडियो में कि आ�
0:36
लोगों को यह फाइनली ब्लॉक को यूज क्यों करते हैं � Like बिना फाइनली ब्लॉक के भी तो काम हो सकता है फिर आपको बत�
0:40
कि बिना finally block के काम क्यों नहीं हो सकता तो बहुत कुछ आने वाला है इस वीडियो मे�
0:44
आप बने रहो सबसे पहले यहाँ पर notes में जो बात मैंने लिखी हुई ह�
0:48
उसको ज़रा देख लेते हैं कि finally block क्या होता है तो finally block contains the code which is always executed
0:54
whether the exception is handled or not बात का मतलब क्या हु�
0:58
और बात का मतलब यह हुआ कि finally block के अंदर वो code होता है, चोकि हमेशा execute किया जाता है
1:04
चाहे आप exception को handle करें, या फिर आप exception को handle ना करें
1:08
it is used to execute code containing instructions to release the system resources
1:13
close a connection, etc. यानि कि कुछ ऐसा code जिसका execute होना जरूरी है
1:20
I repeat, कुछ ऐसा code जिसका execute होना जरूरी है, वो हम चाहे exception आए या exception ना आए हम उसको execute करना ही चाहते हैं तो अगर हम कभी भी इस तरह काम करना चाहते हैं तो finally हम लोग use करते है�
1:35
finally block no matter what अमेशा execute होता है तो आओ सबसे बहुत सिंटेक्स देखते हैं finally block का और in fact मैं यहाँ पर एक काम और करना चाहूँग�
1:43
यहां पर मैं आप लोगों �ले कर चाहूंगा जावा के फाइनली ब्लॉक की जो डॉक्यूमेंटेशन ह�
1:52
है ठीक है तो दी फाइनली ब्लॉक ठीक है यह जो दी फाइनली ब्लॉक वाला हमारा पेज जावा का यह आइटिं�
1:59
इस रिलीवरी हेल्पल और मैं आप लोगों बताऊंगा क्यों ठीक है सबसे पहले मैं आप अब वीडियो नंबर 85 है हमार�
2:05
तो सीडेब्लूएच अंडर स्कूल 85 के नाम से एक फाइल बना लूंगा न्यू जावा क्लास इस सीडेब्लूएच अंडर स्कूल 85
2:13
इसको फाइनली ठीक है और एक जावा फाइल बन गई मेन एक मेन मेथड बनाना चाहता हूं यहां पर और इसको जरा इधर क�
2:26
करके मैं जूम इन करता हूं अब यहां पर सबसे पहले मैं आप लोगों को बहुत ही सिंपल से ट्राइब लॉक दिखाना चाहत�
2:31
जिसके अंदर मैं लिखूंगा int is equal to 5, int b is equal to 7, in fact int b is equal to 0 लिखूंगा ताकि exception आए, ठीक है, और उसके बाद मैं लिखूंगा यहाँ पर catch और उसके बाद यहाँ पर exception e और जादा कुछ मैं करूँगा नहीं, मैं यहाँ पर south e कर दूँगा, ठीक है, मैं south e कर दूँगा
2:54
मतलब सिस्टम डॉट प्रिंट लिंग कर दोगा ठीक है और इसके बाद मैं यहां पर लिखूंगा साउट और इसके बाद मै�
3:04
लिखूंगा इस इस थी एंड ऑफ इस प्रोग्राम ठीक है और यह मैं डाल दूंगा फाइनली के अंदर ठीक है और आप देखत�
3:15
क्यों डालोंगा फाइनली के अंदर ठीक है यहां पर मैं इसको सेव कर दूंगा अब मैं इसको यहां पर राइटली करके रन करके दिखाऊंगा groot देखो इसको मैं रन करके दिखाऊंगा तो इस दिए नॉट इस प्रोग्राम लिखकर आ गया है ठीक है क्योंकि हुआ क्या यह�
3:45
तो यहाँ पर finally block जो है execute हो गई होगा, तो यहाँ पर पहले रोई try में जा रहा था
3:50
अब यह catch में जा रहा है, ठीक है, और catch में जाकर यह क्या कर रहा है, सिर्फ exception को print कर दे रहा है
3:54
तो यहाँ पर आप लोगों यह जो exception है, वो print होकर मिल रहा है, यह कि डिवाइड बाय जीरो आप नहीं कर सकते क्योंकि इस दॉट वैलेड और यह अटिसमेटिक एक्सेप्शन है अगर आ�
4:35
भी लगाते मेरी बात को ध्यान से सुनना अगर finally आप नहीं भी लगाते तब भी क्या फर्क पड़ा कुछ भी फर्क नहीं पड़ा तो क्या इसका मतलब यह है कि finally block useless है नहीं finally block useless नहीं हो सकता जब दिया गया है तो अब मैं आप लोगों को ऐसे situation बताता हूँ जब आप लोग finally block
5:05
इस तरह से आप लोगों को दिखाऊंगा वह मैं आप लोगों बताता हूं तो मैं आप लिखूंगा पवलिक स्टाटिक ग्रीट ठीक ह�
5:12
इन फैक्ट वॉइड ग्रीट अच्छी तीए पब्लिक स्टाटिक वॉइड ग्रीट ठीक है और मैं क्या करूंगा कि जो ट्राइड कैस फाइनली वाल�
5:21
है इस फंक्शन में ले लूंगा और मैं आपको करूंगा क्या मैं आपको लिखूंगा रिटर्न सी ठीक है मैं आपको इं�
5:29
सीजिग वे बाइबी लिखूंगा और इन फाक्ट मुझे स्टाटिक इंट लिखना चाहिए क्यों मैं एक इंटीजर रिटर्न कर रहा हूं औ�
5:36
मैं यहाँ पर लेकिन यह इसी कोल टू लेडर से फिफटी कर देता हूं इसको बीजी वेडिटेड टू कर देता हूं मैं फिफटी डिवाइ�
5:42
टू जो है मैं रिटर्न करूंगा फाइनली इस एंड ऑफ इस प्रोग्राम को फंक्शन कर देता हूं ठीक ह�
5:49
है और यहां पर क्योंकि मैंने फंक्शन कर दिया अब क्या होगा यहां पर अगर आपकी एक्सेप्शन अगर नहीं होत�
5:55
तो सीरिटन हो जाएगा ठीक है लेकिन लेकिन अगर आपकी एक्सेप्शन यहां पर आ जाती है तब क्या हो तो आप लोगो�
6:03
प्रोग्राम रन करके दिखाते हूं बिसीगली मैं क्या करूंगा कि इस फंक्शन को ग्रीट को मैं कॉल करूंगा ठीक ह�
6:08
इस ग्रीड को मैं कॉल करूंगा और अभी देखो जब मैं ग्रीड को कॉल करूंगा तो क्या होगा मैं जब ग्रीड को कॉल करूंगा राइ�
6:14
करके नंद करूंगा तो आप लोग देखो यहां पर मिसिंग रिटर्न स्टेटमेंट आ रहा है और मैंने आप कुछ करगर करि�
6:21
लगता है कहां पर मैंने रिटर्न नहीं किया है तो बिसीकली मुझे यहां पर एक रिटर्न लगाना पड़ेगा इन केस य�
6:29
पर नहीं जाता है तो तो फाइली में एक रिटर्न लगा रहा हूं बट मैं इसको रन करके आप लोगों को दिखाता हूं और आ�
6:35
लोग देखो कि क्या हुआ कि इसने यहां पर 50 डिवाइड वेट टू को एक्सेक्यूट तो करा और मैंने यहीं पर इसको बोल�
6:42
return हो जाओ लेकिन उसके बाद भी इसने फाइनली को एक्सेक्यूट किया क्यों किया जो कि फाइनली के अंदर था अ�
6:49
मैं आप लोगों दिखाता हूं अगर मैं इसको यहां पर इन पेज इकॉल टू यह लिखूं और यहां पर साउट के करूं तो क्या आत�
6:56
तो मैं अगर इसको south k करके आपको दिखाऊंगा, तो देखो 25 आ रहा है, basically यह value return तो हुई
7:02
लेकिन इसके नीचे का code भी execute हुआ, तो कभी-कभी आप यहाँ पर कुछ ऐसा काम करना चाहते हो
7:07
जैसे कि मान लो आप clean up करना चाहते हो, cleaning up resources
7:12
इस तरह के काम करना चाहते हो तो आप लोग फाइल इन दर डाल सकते हो अब मैं आप लोगों को एक्सेप्शन अकर करव�
7:19
कर दिखाता हूं ठीक है इसको रन करके दिखाता हूं आपको मैंने अपने एक्सेप्शन अकर करवा है तो देखो क्या हु�
7:24
एक्सेप्शन आई और उसके बाद इसने रिसोर्सेस को क्लीन अप किया और जीरो को रिटर्न कर दिया जीरो का मतलब कु�
7:29
हो नहीं पाया ठीक है और लेट मी से माइनस वन का मतलब कि कुछ हो नहीं पाया माइनस वन का मतलब एरर यह बात ह�
7:36
मतलब एक code के तौर पर रख लेते हैं कि यार अगर k की value minus 1 आती ह�
7:42
तो हमारा यहाँ पर error आ गया है यहाँ पर exception आ गयी है ठीक ह�
7:45
आपने एक बात note करी जब try execute हो रहा था तो try के अंदर ही मैंने कह दिया था return हो जा�
7:51
मैंने कह दिया था इस value के साथ लोट चलो लुट प्रिंट लन लिनिंग अप रिसोर्सेस तो यह वाली बात एक्सेक्यूट नहीं होगी अगर एक्सेप्शन अकर नहीं कर रही ह�
8:12
for example, अगर मैं b की value 10 कर दू, run 5 return cleaning up resources finally cleaning up resources resources clean up clean up
8:45
return हो जाएं तब भी चाहें आप किसी let us say किसी loop से break
8:49
कर दें तब भी यह बात यहाँ पर समझना बहुत जरूरी ह�
8:53
कि यार मैंने try के अंदर return C कर दिया उसके बाद भी finally run होग�
8:58
यानि कि अगर किसी try catch finally block को आपने लिखा हुआ ह�
9:02
तो finally हर हाल में run होना है finally का मतलब ही ह�
9:05
कि किसी भी हाल में यह जो finally block है वो यहाँ पर run होके ही मानेग�
9:14
वो यह नहीं कहेगा कि मैं run नहीं होता हूँ चलो मैं नीचे हूँ चलो function return हो गय�
9:18
मैं run नहीं होता हूँ नहीं वो run होकर ही मानेगा तो यह example जो ह�
9:22
वो इस वीडियो में बहुत important है, जो function वाला लिया है, अब आप लोग के लिए मैं एक काम देता हूँ आप लोग को, comment section में आप लोग मुझे एक ऐसा code sample दो, जिसको अगर मैं अपने computer में run करूँ, तो finally block उसमें execute हो, despite मैंने एक for loop से break कर दिया हो, यानि कि मान लो एक for loop चल रह�
9:52
लूप के अंदर ट्राइप फाइनली लगाया हुआ है लेकिन उसके बाद भी आपको इस शो करना है कि फाइनली चलेगा ह�
9:57
चलेगा किसी भी हाल में तो मैं थोड़ा वेट करूंगा आप लोग का अगर आप लिख सकते हो कोड तो लिख दो आप इस वीडिय�
10:04
पॉज कर सकते हो और कोड को लिख सकते हो या फिर आप लोग देख सकते हो मैं इसको लिख रहा हूं मैं आप सबसे पहल�
10:10
इसको लिखता हूं और मैं यहां पर करूंगा क्या मैं आप लिखूंगा वाइल ट्रू और मैं आप लिखूंगा कि ट्राइ�
10:21
और मैं यहाँ पर लिखूंगा सी साउट और मैं लिखूंगा ए डिवाइड बाई भी ठीक है तो मैं काम करता हूं यहाँ पर ए और भी बना देता हूं मैं कह रहा हूं इंट �
10:33
इकॉल टू सेवन और मैं यहां पर लिख रहा हूं इन पीज इकॉल टू नाइन और मैं यहां पर कर क्या रहा हूं कि ट्राइल लि�
10:42
रहा हूं और इसके बाद कैच लिख रहा हूं एक्सेप्शन ई ठीक है और उसके बाद मैं क्या कर रहा हूं और उसके बाद फाइनल�
10:50
रहा हूं ठीक है और मैं यहां पर लिख रहा हूं आई एम फाइनली मैं उस तरह से लिखूंगा यहां पर मैं यहां प�
10:58
लिखूंगा सॉफ्ट आई एम फाइनली और यह सॉफ्ट को बता नहीं क्या प्रॉब्लम हो गई यह चला नहीं सही से चलो चल गय�
11:06
ठीक है, मैं यहाँ पर a by b को print किया और अगर कोई भी exception आती ह�
11:12
तो उसको south कर देते हैं और finally मैं क्या करूँगा, I am finally
11:18
लिख रहा हूँ, ठीक है I am finally for value of b
11:24
is equal to, और यहाँ पर मैं क्या करूँगा, b को print कर दूँगा, ठीक ह�
11:28
तो मैं यहाँ पर B को print कर दूँगा और मैं क्या करूँगा B minus minus कर दूँग�
11:32
यहाँ पर B को मैं घटाते जा रहा हूँ और A by B को print करता जा रहा हूँ तो आप लोग एक चीज देखन�
11:36
अगर यहाँ पर मैं क्या करूँगा try यह लिखूँगा और जैसे ही catch के अंदर आएगा
11:42
मैं break कर दूँगा, ठीक है, तो आपको ज़राई code run करके दिखाता हूँ, फिर आपको पता चलेगा
11:47
मैंने कहीं मैं semicolon नहीं लगा है, break के बाद नहीं लगा है semicolon, कोई बात नहीं है
11:50
गलतियां हो जाती है इनसान से, तो यहाँ पर देखो B की value जब 9 थ�
11:56
तब क्या हुआ तब result print हुआ B की value जब 8 थी तब result print हु�
12:00
7 थी तब result print हुआ 6, 5, 4 सब के लिए result print हु�
12:04
लेकिन जब B की value 0 हुई तब क्या हुआ कि यहाँ पर arithmetic exception आ ग�
12:11
और क्यूंकि यहाँ पर arithmetic exception आ गई भी इस इकल टू जीरो के लिए तो क्या होगा तो बेसिकली यहां पर यह ब्रेक हो जाएगा लूप यह लूप ब्रेक हो जाएग�
12:20
MILK break finally execute break
12:35
किसी function से return कर लें और चाहे मतलब कुछ भी ह�
12:39
finally जरूर execute होगा चाहे exception आए नहीं exception ना आए ठीक ह�
12:45
अब एक और बात मैं आप लोग को बताना चाहता हूँ फाइनली तो आपको समझ में आ गया होग�
12:49
लेकिन मैं आपर एक और बात आपको समझाना चाहता हूँ वो यह है क�
12:54
क्या try के साथ catch जरूरी है क्या मैं ये लिख सकता हू�
12:59
try south 5 by 0 क्या मैं सिर्फ ये लिख सकता हूँ नही�
13:05
क्या मैं ये लिख सकता हूँ मैं try के साथ finally लिख सकता हूँ yes मैं लिख सकता हू�
13:10
yes this is finally तो मैंने इस exception को handle नहीं किय�
13:14
मैंने just एक finally ब्लॉक लगा दिया यार अगर ये नहीं चलता है तो finally ये काम कर द�
13:19
तो yes this is a valid java code इस case में यहाँ पर आप लोग देख�
13:24
yes this is finally print होके हमें मिल गया है और उसके बाद यहाँ पर arithmetic exception जो है वो आ गई ह�
13:30
तो yes this is finally जो है वो print हुआ but क्योंकि यहाँ पर हमने handle लिए है इस exception क�
13:36
इसलिए error आपको मिलेगा ही मिलेगा अगर exception आती है अगर exception नहीं आती है तो क्या होग�
13:41
अगर मैं यहाँ पर 50 डिवाइड बाई 10 करता हूँ तो क्या होग�
13:45
अगर मैं यहाँ पर 50 डिवाइड बाई 10 करता हूँ तो आप लोग देखो यहाँ प�
13:50
yes this is finally आ गया है और Fatal यहां पर कोई भी एरर नहीं आया है अब एक नोट उन लोगों के लिए जो लोग मुझसे यह पूछ रहे थे कि यहां पर ज�
13:59
50 डिवाइड बाइड लेडर से थ्री कर रहे हैं तो एक इंटीजर क्यों आ रहा है 50 डिवाइड बाइड थ्री जो है वह वैल्य�
14:05
क्यों हमें क्यों नहीं दिख रही है सही से तो यार अगर आप लोग यह पूछे 50 डिवाइड बाइट 3 16 क्यों आ रहा है तो आपको यार मेरी इनीचल वीडियो देखने की जरूरत है क्योंकि मैंने बहुत अच्छे से बता रहा है नोट्स के साथ बता रहा है कि किस चरण से �
14:35
प्लोड से कर दें तो क्या बातें में डिस्कस की हुई है अभी इस वीडियो में आपकी फाइल आपको समझ में आ गय�
14:41
अभी भी कुछ लोग नोट्स मांग रहे हैं और मैं बस आप लोगों से रिक्वेस्ट कर सकता हूं इस पॉइंट पर क�
14:46
इसको एक्सेस कर लो अगर आप लोग थोड़ा सा भी गौर करो तो ऊपर मैंने यूअरल दिया हुआ है और सीएच 14
14:52
अंडर्स को जावा पीडीएफ पीडीएफ दिए हुई है तो आप लोग को अगर यह पीडीएफ मिले नहीं तो आप लोग साइड ब�
14:58
रख सकते हो मेरी को डाइड को और ब्राउस वीडियोस और उसके बाद जावा ट्यूटोरियल्स और जहां पर चाहत�
15:05
स्टार्ट हो रहा है ना मैंने वहीं पर दे दिया है तो अगर आप जाओ एडिटेशन चाहिए जावा तो यहीं पर मैंन�
15:10
आपको यहां पर मिल जाएंगे आप इसको डाउनलोड कर लो डाउनलोड कैसे करना है यहां पर क्लिक करके डाउनलोड कर लो अब इस सब में उन लोग के लिए बता रहा हूं जिनको नहीं बता है मुझे बता है कि most of the people know how to download but still I hope कि आप लोग इस course को enjoy कर रहे हैं हम लोग अच�
15:40
आना ही अलग बनाता है कि आपको फाइनली का एक्शन यूज मालूम होगा अगर आप इस वीडियो को देखा है बट फाइनली क�
15:47
एक्शन यूज मैंने देगा बहुत कम जगह बताया जाता है फाइनली ब्लॉक के बारे में सिर्फ यह बोलकर छोड़ दिया जात�
15:52
यार यह तो तब एक्सेक्यूट होगा जब एक्सेक्शन नहीं ही है नियुक्त है तब भी तो जो बात मैंने यहां पर लिख�
15:58
वहीं बताई जाती है पर अगर आप लोग वीडियोस देख रहे हैं और आपको कोड एक्सेस करें तो यू नोट आइए टॉकिंग अबॉ�
16:03
आपको अपने विशेष के अच्छा विशेष को आज समझ में आ गया होग�
16:08
तो अब इके लिए इस वीडियो में इतना है गैस प्लेलिस्ट सब लोग अक्सेस कर लेना आपको सब ने बुक मार्क कर ली है प्लेलिस्�
16:13
अगर नहीं करी तो यहाँ क्लिक करके bookmark करें यहाँ क्लिक करके same करें अभी के लिए इस वीडियो में इतना है guys
16:18
thank you so much guys for watching this video and I will see you next time