Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Android

कोटलिन में कस्टम अपवाद फेंकें

<घंटा/>

अपवाद किसी भी प्रोग्रामिंग भाषा का एक महत्वपूर्ण पहलू है। यह हमारे कोड को रनटाइम पर गलत आउटपुट उत्पन्न करने से रोकता है।

कोटलिन में अपवाद की अवधारणा बिल्कुल वैसी ही है जैसी जावा में है। कोटलिन के सभी अपवाद थ्रोबल . के वंशज हैं कक्षा। कोटलिन में, डेवलपर्स के पास अपना स्वयं का कस्टम अपवाद बनाने का विशेषाधिकार है।

कस्टम अपवाद अनियंत्रित अपवादों . का हिस्सा हैं जिसका अर्थ है कि उन्हें रनटाइम पर फेंक दिया जाएगा।

कोटलिन में कस्टम अपवादों में जाने से पहले, आइए चेक किए गए और अनियंत्रित अपवादों पर एक नज़र डालते हैं।

चेक किए गए अपवाद

चेक किए गए अपवाद वे हैं जिन्हें संकलन समय पर चेक किया जाता है। निम्नलिखित उदाहरण में, हमने एक जाँच अपवाद उत्पन्न किया है। FileNotFoundException या IOException एक चेक किया गया अपवाद है।

उदाहरण

आयात करें { ई.प्रिंटस्टैकट्रेस (); }}

आउटपुट

एक बार जब आप उपरोक्त कोड को निष्पादित करते हैं, तो यह निम्न आउटपुट उत्पन्न करेगा। आप देख सकते हैं कि संकलन करते समय, हमें आउटपुट के रूप में चेक किया गया अपवाद मिला है।

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jarjava.io.FileNotFoundException:Hello.txt (ऐसी कोई फ़ाइल या निर्देशिका नहीं) java.io पर। FileInputStream.open0(मूल विधि) java.io.FileInputStream.open(FileInputStream.java:195) पर java.io.FileInputStream पर।> 

अनियंत्रित अपवाद

अनियंत्रित अपवाद वे हैं जिनकी संकलन समय पर जाँच नहीं की जाती है, बल्कि उन्हें रनटाइम पर फेंक दिया जाएगा। निम्नलिखित उदाहरण में, हम एक अनियंत्रित अपवाद उत्पन्न करेंगे। हम किसी भी अंकगणित अपवाद, NumberFormatException को अनियंत्रित अपवादों के उदाहरण के रूप में मान सकते हैं।

उदाहरण

 फन मेन (तर्क:ऐरे) {कोशिश करें { वैल मायवर:इंट =12; वैल वी:स्ट्रिंग ="ट्यूटोरियल पॉइंट डॉट कॉम"; v.toInt (); } पकड़ें (ई:अपवाद) { ई.प्रिंटस्टैकट्रेस (); } अंत में { println ("कोटलिन में अपवाद हैंडलिंग"); }} 

आउटपुट

एक बार जब हम उपरोक्त कोड को निष्पादित करते हैं, तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jarException Handeling in Kotlinjava.lang.NumberFormatException:इनपुट स्ट्रिंग के लिए:"Tutorialspoint.com" java. lang.NumberFormatException.forInputString(NumberFormatExc eption.java:65) java.lang.Integer.parseInt(Integer.java:580) पर java.lang.Integer.parseInt(Integer.java:615) पर MainKt.main(main. केटी:5)

कोटलिन में कस्टम अपवाद

हम एक बहुत ही सरल उदाहरण का उपयोग करके अपना स्वयं का कस्टम अपवाद बनाएंगे। इस उदाहरण में, हम एक वेरिएबल घोषित कर रहे हैं और जांच कर रहे हैं कि क्या वेरिएबल वैल्यू 50 से कम है। परिणाम के आधार पर, हम कोटलिन बिल्ट-इन फंक्शनलिटी का उपयोग करके एक कस्टम अपवाद फेंक देंगे।

उदाहरण

 फन मेन (तर्क:ऐरे) {वैल सैंपलनंबर:इंट; नमूना संख्या =100; अगर (नमूना संख्या> 50) {// अन्य चेक किए गए अपवादों के बजाय कस्टम अपवाद फेंकना myCustomException ("अमान्य इनपुट - कृपया एक सही संख्या दर्ज करें")} अन्य {println ("आपका स्वागत है !! आपने एक सही मान दर्ज किया है")}} // कस्टम अपवाद क्लासक्लास myCustomException (संदेश:स्ट्रिंग) घोषित करना:अपवाद (संदेश) 

आउटपुट

जब हम इस कोड को निष्पादित करते हैं, तो यह निम्नलिखित आउटपुट देगा। आप देख सकते हैं कि हम पारित संदेश के साथ अपना कस्टम अपवाद फेंक रहे हैं।

$kotlinc -nowarn main.kt -include-runtime -d main.jar$java -Xmx128M -Xms16M -jar main.jarException in thread "main" myCustomException:अमान्य इनपुट - कृपया MainKt.main पर एक सही नंबर दर्ज करें .kt:7)

  1. हम जावा में एक कस्टम अपवाद कैसे बना सकते हैं?

    कभी-कभी एप्लिकेशन आवश्यकताओं के आधार पर सार्थक अपवाद विकसित करने की आवश्यकता होती है। हम जावा में अपवाद वर्ग का विस्तार करके अपने स्वयं के अपवाद बना सकते हैं जावा में उपयोगकर्ता-परिभाषित अपवादों को कस्टम अपवाद के रूप में भी जाना जाता है। उदाहरण के साथ कस्टम अपवाद बनाने के चरण कस्टम एक्सेप्शन क्लास

  1. मैं पाइथन में अपवाद को मैन्युअल रूप से कैसे फेंक/उठा सकता हूं?

    हम सबसे विशिष्ट अपवाद निर्माता का उपयोग करते हैं जो सामान्य अपवादों को बढ़ाने के बजाय हमारे विशिष्ट मुद्दे पर फिट बैठता है। हमारे विशिष्ट अपवाद को पकड़ने के लिए, हमें अन्य सभी विशिष्ट अपवादों को पकड़ना होगा जो इसे उपवर्गित करते हैं। हमें विशिष्ट अपवादों को उठाना चाहिए और उन्हीं विशिष्ट अपवादों को स

  1. रूबी में कस्टम अपवाद

    रूबी में अपने स्वयं के अपवाद बनाना आसान है। बस इन चरणों का पालन करें: 1. एक नई कक्षा बनाएं अपवाद वर्ग हैं, जैसे रूबी में बाकी सब कुछ! एक नए प्रकार का अपवाद बनाने के लिए, बस एक ऐसा वर्ग बनाएं जो StandardError या उसके किसी बच्चे से विरासत में मिला हो। class MyError < StandardError end raise MyErr