0:00
गैस आज के इस वीडियो में हम लोग बात करने वाले हैं थ्रो और थ्रोस की कि थ्रो कब इस्तेमाल करना है थ्रोस कब इस्तेमाल करना है और क्यों आप लोग और कब आप लोग थ्रो और थ्रोस को इस्तेमाल करेंग�
0:13
देखो मैंने आप लोगो पिछले वीडियो में throw के बारे में बताया था आज मैं throws के बारे में बताऊंग�
0:18
यह दोनों java की keyword है और एक बार समझ लिया ना कि इन दोनों क�
0:21
किस तरह से combination में या फिर अकेले इस्तेमाल करना है तो आप लोगो कभी भ�
0:26
कोई भी problem नहीं होगी तो basic चीज बताई क्या है basic चीज यह है कि हम इसको क्यों इस्तेमाल करते है�
0:31
कोई भी चीज का अगर आपने क्यों समझ लिया तो वो सबसे ज़ादा आप लोगे लिए helpful रहेग�
0:36
रट्टा नहीं लगाना है, यह समझना है कि वो चीज क्यों बनी थी, with that said, start करते हैं, यह मेरा 84th वीडियो है
0:42
जावा की playlist में, तो मैं 84th वीडियो के नाम से एक file बनाओंगा
0:46
सबसे पहले तो, मैं यहाँ पर लिखूँगा, 84, CWH underscore 84, underscore throw and throws, ठीक है
0:55
थे थोड़ थोड़ लिख देता हूं ठीक है क्लासनेम को भी वैलेड रखना है ठीक है तो वह चीज भी होती है मेन और यहा�
1:03
पर अगर आप एमडी का कोई खतर नाक राइजन 5950 वगैर इस्तेमाल कर रहे हैं आई नाइन का टेन जन इस्तेमाल कर रह�
1:10
तो जरूर आपको बहुत जल्दी आएगा यार मैं बहुत basic processor i5 का इस्तेमाल करो तो वो भी 8th gen का तो नहीं आ रहा है जल्दी तो यह चीज जो है वो CPU पर काफी डिपेंट करती है ठीक है आपका CPU खाता रहता है अगर आपके बास बहुत तकड़ा CPU है या फिर thread ripper वगैर इस्�
1:40
लगी अगर हम लोग custom exceptions बनाना चाहते हैं तो वो किस तरह से बना सकते हैं आज मैं क्या करूंगा क�
1:49
थ्रो की वर्ड के बारे में बताऊंगा और थ्रो की वर्ड क्यों इस्तेमाल होता है थ्रो की वर्ड इस यूज टो थोड़ एक्सेप्श�
1:55
इस प्रिसिटिल वाइट प्रोग्राम थ्रो की वर्ड से आप कह सकते हो कि यार इस प्रोग्राम को यहीं पर खत्म कर दिया चाहि�
2:01
ठीक है आपने एक एक्सेप्शन को थ्रो कर दिया फॉर एक्सेंपल मान लो मैंने एक फंक्शन लिखा डिवाइड ठीक है मैं यहां प�
2:07
लिखता हूँ divide, मैं यहाँ पर लिखूँगा int divide और int a, int b, यह दो integers को divide करता है
2:16
मैं यहाँ पर लिखूँगा int result c is equal to a by b, और यहाँ पर int result is equal to a by b
2:25
और उसके बाद return result, ठीक है, अब मान लो मैंने यह बनाया, ठीक है, मान लो यह made by Harry है
2:32
ये जो function है ध्यान से सुनना मेरी बात को ये made by harry है ठीक ह�
2:37
ये made by harry function है और मान लो यहाँ पर एक shivam नाम का बंदा ह�
2:42
ठीक है इस shivam नाम के बंदे ने क्या किया कि इसको इस्तेमाल किय�
2:45
ठीक है इस function को इस्तेमाल किया और मैं uses divide function
2:53
created by Harry और मैं इस चीज़ को story के रूप में इसलिए बना रहा हू�
2:57
क्योंकि आप लोगों को बहुत अच्छी तरह समझ में आएगा अब मालो शिवम जो है न वो Harry बहुत जार चड़ता ह�
3:01
वो कहता है यार ये Harry अच्छा लड़का नहीं है और हैरी शिवम को बोलता है यार ये शिवम जो है सही लड़का नहीं है दोनों लड़ाई में रहते हैं एकद�
3:07
और होता है ना क्लास में दो लड़की होते हैं खुश नहीं होते हैं दोनों भी कुछ उसी कराँ से है ठीक ह�
3:11
तो यहाँ पर मेबी दोनों एकी लड़की को लाइक करते हैं जो भी है ठीक है कुछ भी हो सकता है डिजन उसक�
3:17
अब यहाँ पर हैरी और शिवम जो है वो एक दूसरे को क्रिटिसाइज करने की पूरी कोशिश करते हैं एक दूसरे को नीचे दिखाने की कोशिश करते है�
3:24
तो शिवम कहता है, यार ये हैरी ने क्या बनाया है, मैं यहाँ पर एक int c is equal to divide लिख रहा हूँ, ठीक है, मैं लिख रहा हूँ divide 6 और 0, और 6,0 मैं यहाँ पर दे रहा हूँ इस divide function को, मैं इसको static भी बना देता हूँ, मैं इसको static int बना देता हूँ, मैं in fact इसको public static बना देता ह�
3:54
होगा कि यह देखो मैं इसको रन कर रहा हूं तो यह एरर थ्रो कर रहा है देखो यह क्या हुआ प्रोग्राम ही नहीं चल�
3:59
यह कैसा फंक्शन मनाया है है नहीं कितना घटिया इंसान है यह शिवम को मौका मिल गया है रिकुलाई करने का अ�
4:05
function divide function function a is equal to 6 b is equal to 0 supply error throw what is this error
4:30
और already आप लोग को मैं बता दूँगा जो भी इस्तेमाल करेगा मेरे इस function क�
4:35
शिवम बोलता यार ये बताना क्या होता है मुझे नहीं सुनना कुछ भी अब हैरी बहुत परशान हो जाता ह�
4:40
खेता है यार मैं करूं तो करूं क्या शिवम ने मेरे function को नीचा दिखाने की पूरी कोशिश कर�
4:46
और उसकी कोशिश सफल भी हो गई मैं उसकी सफलता पर पानी कैसे फेर�
4:50
तो यहाँ पर हैरी एक चाल चलता है हैरी करता है java का throws keyword इस्तेमा�
4:56
हैरी throws keyword का इस्तेमाल इसलिए करता है क्योंकि throws keyword शिवम के लिए एक संकेत ह�
5:03
कि भाई यह जो divide method है ना Harry का Harry ने तो पूरी कोशिश करी है अच्छा लिखने क�
5:07
लेकिन तुम्हें दिहान रखना है कि यह एक exception throw कर सकता है जो कि arithmetic exception ह�
5:12
तो Harry पहले से एक warning दे देगा जिसको warning दे देगा शिवम क�
5:16
कि ये arithmetic exception throw करता है तो तुमको इसको handle करना ह�
5:23
अब अगर मान लो शिवम कुछ इस तरह से run करता ह�
5:27
अपने इस function को और उसके बाद ये exception आती है तो हैरी क्या बोलेगा पता ह�
5:34
बोलेगा मैंने तो already अपने method में बोल रखा है कि ये throw करता है arithmetic exception
5:38
तो मैं उसको handle करना चाहिए था तो शिवम अभी यह तुम्हारी गलती है मेरी गलती नहीं ह�
5:41
मैंने तो automatically यहाँ पर throws लगा कर बताया था कि यह इस exception को throw करता ह�
5:46
लेकिन तुमने इसको handle नहीं किया तो यह तुम्हारी गलती है अब यह गलती शिवम की ह�
5:52
क्यों शिवम की गलती है क्योंकि शिवम को यहाँ पर try catch के अंदर डालना चाहिए थ�
5:56
अपने इस इस line को ठीक है और मैं यहाँ पर try catch
6:02
exception e और यहाँ पर south exception लिख देता हूँ ठीक ह�
6:10
और इसको run करके दिखाता हूँ और इसको भी हम यहाँ पर यह जो system.data.println.ca
6:15
इसको C के साथ रखेंगे और यहाँ पर अगर exception आती ह�
6:19
तो यह वाला ब्लॉग जो है वो run होगा तो अब अगर Shivam इसक�
6:23
run करेगा तो यहाँ पर exception लिखकर आएगा तो अब Shivam भी खु�
6:26
Harry भी खुश और इन दोनों की लड़ाई जो थी वो कम से कम official ही नहीं आएग�
6:31
अब ये दोनों एक दूसरे की शिकायत अपने boss से जाकर नहीं कर सकत�
6:35
Shivam अपने boss से जाकर ये नहीं कह सकता कि Harry ने एक ऐसा method लिखा जिसने मुझे एक error throw करके दिय�
6:41
क्योंकि Harry ने already यहाँ पर बता दिया कि यार ये throw करता है ये arithmetic exception इसको तुम handle कर लेन�
6:46
अगर ये exception throw हुई तो इसका मतलब तुमने कुछ गडबड करी ह�
6:51
और तुमें इसको अब handle करना है ठीक है तो तुमें इस चीज़ का ध्यान रखना ह�
6:55
कि ये method arithmetic exception throw ना करे ये तुमारी जिम्मेदारी ह�
6:59
तो हैरी ने एक तरह से जिम्मेदारी को ट्रांसफर कर दिया कहां ट्रांसफर कर दिया शिवम की तर�
7:04
हैरी ने कह दिया कि देखो बाई मैंने तो पूरी कोशिश कर दिया इस method को लिखने क�
7:07
लेकिन अगर तुमने इस method को कोई ऐसी चीज सप्लाई कर दी जो की मेरे हाथ में नहीं ह�
7:12
तो एक exception तो definitely throw होगी तो तुम उसको handle कर लेना अपने हिसाब स�
7:16
ठीक है तो यहाँ पर अब ना Harry Shivam की शिकायत कर सकता ह�
7:20
ना Shivam Harry की शिकायत कर सकता है अब यहाँ पर हम लोग करेंगे क्य�
7:24
कि एक और example देखेंगे इस चीज़ का और मैं यहाँ पर करूँगा क्या जल्दी से एक और static method बनाऊंगा, मैं लिखूँगा public static area और area int radius लेगा
7:36
और मैं यहाँ पर लिखूँगा public static int area, in fact float लिखना चाहिए मुझे, चलो float लिख देते हैं, ठीक है
7:45
और यहाँ पर क्या होगा public static float area मैं लिखूँगा float result
7:51
is equal to और मैं लिखूँगा mat.pi pi capital और pi into r
8:00
into r यहनी कि pi square area होता है और मैं लिखूँगा return
8:05
result अब यहाँ पर क्या दिक्कत आ रही है यहाँ पर यह कह रहा है require type float
8:09
तो एक काम करें इसको double ही कर देते हैं डबल कर देते हैं ताकि यार ये ज़ाला डेंचन आ रहे है इसकी ठीक ह�
8:15
और मैंने यह रिटर्न कर दिया result ठीक है तो यह चीज जो है वो डबल रहेग�
8:19
मैंने इसको डबल में स्टोर करा दिया और रिटर्न कर दिया result ठीक है अब क्या होगा कि मान ल�
8:25
कि radius negative supply आई कर दी जाती है मान लो तो एरिया भी नेगेटिव आएगा लेकिन क्या आप चाहते हो कि एरिया नेगेटिव है ऑब्यूसल�
9:09
ये मैंने custom exception बनाई है, अब मैं करूँगा क्या, कि मैं अब check करूँगा, मैं करूँगा if r is less than 0, ठीक है, अगर जो radius है, वो 0 से छोटी हो जाती है, तब मैं क्या करूँगा, तब मैं करूँगा, अगर radius 0 से छोटी हो जाती है, तो throw कर दो, negative, not negative error size exception, negative radius exception, ठीक है, negative radius exception मैं throw कर द�
9:39
थ्रो करिए कि यार अगर ऐसा कुछ होता है तो यह थ्रो करेगा नेगेटिव रेडियस एक्सेप्शन लेकिन अब मुझे ए�
9:44
कम और करना है मेरी जिम्मदारी और बढ़ गई क्योंकि मैं अपने फंक्शन के अंदर डायर की थ्रो करना हुआ ए�
9:49
एक्सेप्शन को मैं आप जो भी इस फंक्शन को इस्तेमाल कर रहा है उसको संकेत दूंगा थोड़ी बट की सा�
9:54
मैं कहूंगा देखो बाइब नेगेटिव रेडियस एक्सेप्शन को थोड़ करता है मेरा यह जो फंक्शन है तो तुम ज�
10:01
जाके इसको handle कर लेना और मैं इसको कुछ इस तरह से throw करूँग�
10:05
throw new negative radius exception ठीक है तो मैं यहाँ पर एक negative radius exception
10:11
throw करूँगा अगर r की value less than 0 है और उसी के साथ सा�
10:15
मैं अपने method definition में यह बात बताऊंगा उस इंसान को जो की इस function को use कर रहा ह�
10:21
कि ये इस तरह की exception throw कर सकती है तो थोड़ा सा दिहान रखना है इस exception क�
10:26
अब उस इंसान को यहाँ पर या तो बहुत ज़्यादा careful है कि इसको इस्तेमाल करना है इस method क�
10:31
यहाँ पर try catch में surround करना है कि अगर ये exception throw की जाती है तो वो क्या कर�
10:35
तो basically यहाँ पर throw keyword हम इस्तेमाल करते हैं कि exception को throw करने के लिए ताकि program यहीं पर terminate हो जाए�
10:40
और यहाँ पर यह फालतू calculation ना हो हमारा CPU बचे, compute बचे, time बच�
10:45
जो कि यहाँ पर जब radius ही negative है तो area calculate करने का कोई point बनता नहीं है ठीक ह�
10:49
but at the same time, मैं चाहता हूँ कि इस function को इस्तेमाल करने वाले इंसान को पता चल जा�
10:55
कि ये negative radius exception throw करती है अब आप कहेंगे कि यार वो इंसान same ही तो होग�
10:59
जरूरी थोड़ी नहीं है वो इंसान same हो वो इंसान दूसरा भी हो सकता ह�
11:03
वो इंसान आपके package को use कर सकता है हो सकता है आपने एक package बना रखा हो, और अब आप ये package supply कर रहे हैं अपने let us say colleagues को
11:13
या फिर let us say आप किसी open source project में काम कर रहे हैं, और आप इसको open source word को supply कर रहे हैं
11:19
यानि कि सब लोग इसको इस्तेमाल करेंगे, तो उनको इस बात की थोड़ी बहुत जो है
11:24
आईडिया उनको होना चाहिए इस बात का कि आपका ये मेथड, negative radius exception, जो कि आपने खुद ने define कर रखी है
11:32
उसको throw कर सकता है, करता नहीं है, कर सकता है, हो सकता है कि कुछ ऐसा हो जाए क�
11:38
यह negative radius exception throw करे तो इसलिए throws लिखते हैं य�
11:42
हम कहते हैं कि यह negative radius exception throw कर सकता ह�
11:46
और इसलिए हम यहाँ पर क्या करेंगे कि जब भी इसको इस्तेमाल करेंग�
11:50
अब मैं जब इसको इस्तेमाल करके दिखाता हूँ यह शिमा वाली बात तो एक तरफ रही मैं यहाँ पर क्या करूँगा लिखूँग�
11:55
double ar is equal to मैं यहाँ पर लिखूँगा area और radius दूँगा 6
12:03
और मैं कुछ इस तरह से इसको run करने की कोशिश करूँगा अब अगर मैं इसको run करने की कोशिश कर रहा हू�
12:09
तो यह मुझे पहले से बोल रहा है कह रहा है आपने इस exception को handle नहीं किया ह�
12:12
अरे भाई यह area method negative radius exception को throw करता ह�
12:17
अगर वो exception हुई तो क्या करना है यह बताओ तो यहाँ पर आपको already एक warning मिल रही ह�
12:22
इन fact यह warning नहीं है यह एक error ही है अगर आप लोगस को run करेंगे तो यहाँ पर यह आपके प्रोग्राम को चलने नहीं देग�
12:29
यह बोलेगा कि भाई आपको इस exception को catch करना है यानि कि आपको try catch में डालना ह�
12:35
तबी आपको यहाँ पर चलने का मौका दिया जाएगा अब मैं काम करता हूँ कि इसको जड़ा comment out करता हू�
12:42
मैं try catch के अंदर इस चीज़ को डाल लूँ, अब ये शान्त हो जाएगा, अब ये चल जाएग�
12:46
in fact अगर मैं इस area को print करना चाओं, तब भी जो है मैं print कर सकता हू�
12:51
तो कुल मिला के बात का मतलब ये है कि throw keyword आप इस्तेमाल करते ह�
12:55
एक exception को throw करने के लिए चाहें custom built exception throws programmer function function
13:14
आपने बना यह नेगेटिव रेडियस एक्सेप्शन इसको थ्रो करता है अब हर प्रोग्रामर आपके इस वंक्षन के अंदर झा�
13:20
कर देखेगा नहीं कि आपने क्या करा है और ढूंढे वह एक्सेप्शन की कौन-कौन सी हैंडल करनी है तो आप ही बत�
13:26
यह वाली exception जो है throw की जा सकती है तो अगर आपने यहाँ पर इस exception को throw कर दिय�
13:34
तो क्या होगा तो आपको यहाँ पर आने वाले programmer को जो ह�
13:39
बहुत जारे यह असानी हो जाएगी वो उसको handle कर लेगा और उसकी जिन्दगी जो है थोड़ी असान बन जाएग�
13:45
I hope that you understood the difference between throw and throws. Now let's quickly come to notes and see what I have written
13:50
Throw keyword is used to throw an exception explicitly by the programmer. So if you want to throw an exception on the basis of any condition
13:57
then you can stop the program and throw an exception there. In a similar manner, we can throw user-defined exceptions
14:04
And here you can throw user-defined exceptions. Throw new my exception. And then the message exception
14:11
कब वो और बिल्कुल इस तरह से आप किसी भी तरह की exception को throw कर सकते है�
14:16
बात जहां आती है throws key throws keyword यूज़ किया जाता है एक exception को declare करने के लि�
14:23
यह exception throw की जा सकती है इस function द्वारा this gives an information to the programmer that there might be an exception
14:31
so it's better to be prepared with a try-catch block समझे, बात यह है क�
14:36
आपका जो method है, यानि कि जो method use कर रहा है programmer, व�
14:39
एक exception throw कर सकता है तो तयार रहो एक try catch
14:44
block के साथ, तो better be prepared with a try catch block
14:47
और यहाँ पर आप try catch block के साथ अगर prepare रहेंगे, त�
14:52
आपको वो exception से अपने program को terminate नहीं करवाना पड़ेगा, इस case में, किसकी बात मैं कर रहा हूँ, मैं बात कर रहा हूँ इसकी, यह जो यहाँ पर मैंने अभी area निकाला है, यह जो area functions area calculate करा है, हो सकता है कि कुछ ऐसी radius मैं supply कर बैठूं, जिससे कि exception अकर हो जाए, इसलिए मैं आपर already prepare हूँ एक try catch block के साथ, कि यार अगर exception �
15:26
और डिपेंडिंग अब अधिक क्रिटिकलिटी ऑफ दी एक्सेप्शन आप देखेंगे इस बात को कि क्या आपको प्रोग्राम को आग�
15:33
चलाना या पहले पर उस प्रोसेस को भस्म कर देना यानि कि नष्ट कर देना है ठीक है जो भी करना आपको आप क�
15:39
सकते हो तो बेसिकली यहां पर थोड़ एक्सेप्शन वाला जो कीवर्ड है वह इसका आता है आपको समझ में आ गया थोड�
15:46
थोड़ के बीच में डिफरेंस और यहां पर मैंने एक बहुत ही सिंपल से एक्सेप्शन दिया हुआ है कि मैथल यह एक्सेप्श�
15:53
वह करता है यहां पर कोड में लिखूंगा जिसमें कि एक्सेप्शन को थ्रो करेगा तो बेसिकली यहां पर आप थ्रोज करक�
16:00
जब लिखते हो किसी भी एक्सेप्शन का नाम तो इसका मतलब यह है कि आपका यह जो मैथड यह एक्सेप्शन को थ्रो क�
16:05
तो बेटर बी प्रिपेयर विद ट्राइक एज ब्लॉक ठीक है अगर आप लोगों ने अभी तक कि प्लेलिस एक्सेस नहीं करी है जो क�
16:11
मोस्ट प्लीबल ने कर लिए है मोर्ड दन मिलियन व्यूज और आप लोग यहां पर इस पर क्लिक कर सकते हैं बुकमार्क पर से�
16:18
कर सकते हैं अगर आपने इसको सेव नहीं करा है तो वैसे एक मिलियन से ज्यादा स्ट्रेंट्स ने इस प्लेलिस्�
16:24
का लाभ उठाया और मैं अब आप सबकी सराना करना चाहता हूं यार जिसने इतने सारे वीडियोस देखे और मैं थोड़�
16:31
या बर अपनी भी सराना करूंगा कि जब मैं इस प्लेलिस का पहला वीडियो बना रहा था तो मुझे बिल्कुल भी थोड़ा स�
16:37
आईडिया नहीं था कि यार यह मैं इतना कुछ कर पाऊंगा मैंने सारा प्लान कर रखा था यह सारे के सारे को ऑड्स नोट्स औ�
16:43
सारे के सारे वीडियो अलांग विद थम देल एडिटिंग पाइटल यह वह काफी मेहनत लग गई पर आइम सो हैपी यार य�
16:51
नंबर देखते हुए 84 वीडियो मैं भी रिकॉर्ड कर रहा हूं एंड एम रेली फीलिंग प्राउड अबॉट यू ऑल पीप�
16:57
माइसेल्फ कि हम लोगों ने इतना आगे तक इसको पहुंचा दिया सॉफ्ट कि आप लोगों से फायदा हो रहा है अभी के लिए इ�
17:04
वीडियो में इतना है गाइस थैंक यू सो मच गाइस फॉर वाचिंग इस वीडियो एंड आईवेल सी यू नेक्स्ट आई �