जावा मध्ये थ्रो आणि थ्रो दरम्यान फरक

लेखक: Laura McKinney
निर्मितीची तारीख: 1 एप्रिल 2021
अद्यतन तारीख: 14 मे 2024
Anonim
Восьмибитный киберпанк, который мы заслужили ► 1 Прохождение Huntdown
व्हिडिओ: Восьмибитный киберпанк, который мы заслужили ► 1 Прохождение Huntdown

सामग्री


थ्रो अँड थ्रो हे अपवाद हाताळणीसाठी वापरले गेलेले कीवर्ड आहेत. द फेकणे कीवर्ड प्रोग्रामरद्वारे तयार केलेल्या अपवादाचे उदाहरण JVM कडे व्यक्तिचलितपणे हस्तांतरित करण्यासाठी वापरले जाते. द फेकतो अपवाद हाताळण्याची जबाबदारी हाताळण्यासाठी वापरला जाणारा कीवर्ड पद्धतमध्ये कॉलर पद्धतीत आला. थ्रो आणि थ्रो मध्ये मूलभूत फरक म्हणजे थ्रो कीवर्ड अपवाद ऑब्जेक्ट वापरतो तर थ्रो कीवर्ड अपवाद वर्गाचे नाव वापरतो.

  1. तुलना चार्ट
  2. व्याख्या
  3. मुख्य फरक
  4. निष्कर्ष

तुलना चार्ट

तुलनाचा आधारफेकणेफेकतो
मूलभूतथ्रो कीवर्ड आमच्या तयार अपवाद ऑब्जेक्टला जेव्हीएमकडे व्यक्तिचलितपणे हँडओव्हर करा.थ्रो कीवर्डचा उपयोग अपवाद हाताळण्याची जबाबदारी पध्दतीच्या कॉलरकडे सोपविण्यासाठी केली जाते.
मांडणीथ्रोएबल-उदाहरण द्या;रिटर्न_प्रकार पद्धत_नाव (मापदंड-यादी) अपवादक्लास_सूची टाकते
{
// पद्धतीचा मुख्य भाग
}
पाठोपाठथ्रो कीवर्ड नंतर अपवाद ऑब्जेक्ट आहे.थ्रोवर्ड कीवर्ड नंतर पद्धतीमध्ये येऊ शकतात अशा अपवाद वर्गाच्या यादीनंतर होते.
टाकलेल्या अपवादांची संख्याथ्रो कीवर्ड एकच अपवाद उदाहरण टाकू शकतो.थ्रो कीवर्ड स्वल्पविरामाने विभक्त झालेल्या अनेक अपवाद वर्ग घोषित करू शकतो.


थ्रो व्याख्या

कीवर्ड “फेकणे”आमचा तयार केलेला अपवाद उदाहरण JVM (जावा व्हर्च्युअल मशीन) कडे स्वहस्ते हस्तांतरित करण्यासाठी केला जातो. जर "थ्रो" अपवाद उदाहरण टाकण्यासाठी वापरला जात नसेल आणि अपवाद उद्भवला तर रनटाइम सिस्टम अंतर्गत अपवाद उदाहरण जेव्हीएमकडे फेकते आणि प्रोग्राम असामान्यपणे समाप्त होते. थ्रो कीवर्डचे सामान्य स्वरूप असे आहे:

थ्रोबल_इंस्टन्स फेकणे;

थ्रोएबल_इंस्टन्सच्या वर फेकणे वर्ग हा एक ऑब्जेक्ट असणे आवश्यक आहे. इन्ट, फ्लोट किंवा चार यासारख्या आदिम प्रकार आणि थ्रो-कीवर्डचा वापर करुन नॉन-थ्रोबल क्लास उदाहरण फेकता येणार नाही.

कीवर्ड थ्रो समजून घेण्यासाठी आपण एक उदाहरण घेऊ.

वर्ग चाचणी {पब्लिक स्टॅटिक शून्य मुख्य (स्ट्रिंग आर्ट्स) {नवीन अंकगणितकेंद्र ("शून्य बाय") फेकून द्या; }}

वरील कोडमध्ये कीवर्ड थ्रो अपवाद वर्ग “एरिथमेटिक एक्सेप्शन” चे उदाहरण देते. त्यावेळी थ्रो कीवर्ड वापरला गेला नसता तर मुख्य () पध्दतीने आंतरिकपणे एक अपवाद ऑब्जेक्ट जेव्हीएमकडे सोपवले असते.

कीवर्ड थ्रो बद्दल लक्षात ठेवण्याचे मुद्देः


  • हे अपवाद ऑब्जेक्टला स्वतः जेव्हीएमकडे हस्तांतरित करते.
  • याचा उपयोग वापरकर्त्याने परिभाषित अपवाद किंवा सानुकूलित अपवादांसाठी केला आहे.
  • थ्रो कीवर्डद्वारे टाकलेल्या अपवाद ऑब्जेक्टवर मेमरी वाटप न केल्यास, तेथे नलपॉइंटरएक्सप्शन, रनटाइम अपवाद आढळतो.
  • थ्रो कीवर्ड प्रोग्रॅमची घटना घडल्यानंतर लगेचच थांबवतो. थ्रो स्टेटमेंटनंतर आम्ही कोणतेही विधान थेट लिहू शकत नाही. जर आम्ही थ्रो स्टेटमेंटनंतर थेट स्टॅमेंट लिहिले तर कंपाईलर संकलित करताना एक त्रुटी, आवाक्याबाहेरचे विधान दर्शवेल.
  • थ्रो कीवर्डचा वापर करुन फक्त थ्रोबल वर्गाच्या वस्तू फेकल्या जाऊ शकतात. जर थ्रो ऑब्जेक्ट थ्रोबल या क्लासची ऑब्जेक्ट नसेल तर आम्हाला कंपाईल टाईम एरर मिळेल “विसंगत प्रकार आढळला. . आवश्यक java.lang.Trrowable ”

टीपः

थ्रो कीवर्ड सी ++, जावा, सी # मध्ये स्वहस्ते अपवाद वगळता वापरला जातो.

थ्रो ची व्याख्या

फेकतो”कीवर्ड त्याच्या कॉलर पद्धतीत, अपवाद हाताळण्याची जबाबदारी सोपवण्यासाठी वापरली जाते. अपवाद हाताळण्यासाठी कॉलर पद्धत जबाबदार आहे ती इतर कोणतीही पद्धत किंवा जेव्हीएम असू शकते. हे पद्धतीमध्ये येऊ शकणार्‍या अपवाद वर्गाची यादी जाहीर करते.

थ्रो कीवर्डचा वापर कंपाईलरला पटवून देतो की मेथडमध्ये आढळलेला अपवाद कॉलर पद्धतीने हाताळला जाईल, कोणतीही संकलन त्रुटी उद्भवली नाही. परंतु, कॉलर पद्धतीने अपवाद हाताळणे आवश्यक आहे किंवा अपवाद हाताळण्याची जबाबदारी त्याच्या पदानुक्रमित पद्धतीवर सोपविणे आवश्यक आहे. जेव्हा रनटाइम अपवाद आढळतो, नंतर थ्रो कीवर्डच्या वापरानंतरही, तो प्रोग्रामच्या असामान्य समाप्तीस प्रतिबंधित करत नाही. कॉलर पद्धत मुख्य असल्यास (), डीफॉल्टनुसार JVM अपवाद हाताळते.

थ्रो कीवर्डचे सामान्य स्वरूप असे आहे:

रिटर्न_प्रकार पद्धत_नाव (मापदंड-सूची) अपवाद टाकते क्लास_लिस्ट method // पद्धतीचा मुख्य भाग}

आम्ही पाहू शकतो की थ्रोवर्ड कीवर्ड मेथडच्या सहीनंतर दिसतो आणि त्यामध्ये मेथ अपवाद क्लासेसची यादी असू शकते. कीवर्ड फेकल्यानंतर लिहिलेल्या अपवाद वर्गाची यादी स्वल्पविरामांनी विभक्त केली.

थ्रो कीवर्ड समजण्यासाठी एक उदाहरण घेऊ.

कॅलस टेस्ट {पब्लिक स्टॅटिक शून्य मुख्य (स्ट्रिंग आर्ग्स) ने व्यत्यय आणलेला एक्सप्रेशन {थ्रेड स्लीप (10000) फेकला; }}

वरील कोडमध्ये झोपेची () पद्धत वापरुन काही काळ झोपण्यासाठी मुख्य धागा बनविला जातो. आता जेव्हा मुख्य पद्धत झोपलेली असते तेव्हा इतर थ्रेड मुख्य थ्रेडमध्ये व्यत्यय आणू शकतात. परंतु, थ्रो कीवर्ड मुख्य () पद्धतीच्या सहीनंतर वापरला जातो, प्रोग्राम सहजतेने संकलित करेल. थ्रो कीवर्ड चेक केलेला अपवाद क्लास इंटरप्टेक्सप्शन घोषित करीत आहे. आता, रनटाइम दरम्यान इतर कोणताही धागा मुख्य धागा व्यत्यय आणतो तर थ्रो कीवर्ड हा अपवाद मुख्य () मेथडच्या कॉलरला देतो, जे जेव्हीएम आहे. जेव्हीएम असामान्यपणे प्रोग्राम समाप्त करेल.

कीवर्ड विषयी लक्षात ठेवण्याचे मुद्देः

  • थ्रो कीवर्ड केवळ चेक केलेला अपवाद वर्ग घोषित करण्यासाठी वापरला जातो. चेक न केलेल्या अपवादासाठी थ्रो कीवर्डच्या वापराचा कोणताही परिणाम होत नाही.
  • जर पद्धत स्वत: हून अपवाद हाताळू इच्छित नसेल तर, थ्रो कीवर्डचा वापर करुन त्या वर्गाच्या कॉलर पद्धतीत तो अपवाद नियुक्त करतो.
  • त्याचा वापर केवळ प्रोग्रामचे सहज संकलन करण्यास अनुमती देतो.
  • रनटाइमवर एखादा अपवाद आढळल्यास, थ्रो कीवर्डच्या वापरानंतरही प्रोग्राम असामान्यपणे समाप्त होतो.
  • रनटाइमवेळी अपवाद आढळल्यास प्रोग्रामच्या सामान्य समाप्तीसाठी ट्राय / कॅच ब्लॉक वापरण्याची शिफारस केली जाते.

टीपः

कीवर्ड फक्त जावामध्ये वापरला जातो. सी ++ आणि सी # थ्रो कीवर्ड वापरू नका.

  1. कीवर्ड थ्रो, जेव्हीएमकडे व्यक्तिशः अपवाद हाताळण्याची जबाबदारी हस्तांतरित करा, तर कीवर्ड थ्रो करतो, जेथे अपवाद झाला आहे त्या कोडच्या कॉलर पद्धतीला अपवाद हाताळण्याची जबाबदारी हस्तांतरित करा.
  2. थ्रो कीवर्ड नंतर अपवाद ऑब्जेक्टद्वारे पाठविले जाते जे जेव्हीएमला देते. दुसरीकडे, थ्रो कीवर्डनंतर अपवाद वर्ग येतो जे या पद्धतीत येऊ शकतात.
  3. थ्रो कीवर्ड एकावेळी एकच अपवाद ऑब्जेक्ट टाकू शकतो, तर थ्रो कीवर्ड एका वेळी स्वल्पविरामाने विभक्त केलेले अनेक अपवाद वर्ग घोषित करू शकतो.

निष्कर्ष:

थ्रो कीवर्ड सानुकूलित अपवादासाठी सर्वोत्कृष्ट वापरला जातो. थ्रो कीवर्डच्या तुलनेत अपवाद हाताळण्यासाठी ट्राय / कॅच ब्लॉक सर्वोत्तम आहे.