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

Java में Exception Throw करना

Java Exceptions

Exceptions प्रोग्राम निष्पादन के दौरान होने वाली अप्रत्याशित घटनाएं हैं। जब आपका कोड किसी exception का सामना करता है, तो आपके प्रोग्राम का प्रवाह समाप्त हो जाएगा।

यह महत्वपूर्ण है कि जब आप Java में कोडिंग कर रहे हों तो आप exceptions को सही ढंग से संभालें। अन्यथा, आपका कोड निष्पादन के दौरान समाप्त हो सकता है और एंड-यूजर अनुभव को प्रभावित कर सकता है।

यहीं throw और throws कीवर्ड्स काम आते हैं। Java throw और throws कीवर्ड्स का उपयोग Java में exceptions को संभालने के लिए किया जाता है। यह ट्यूटोरियल उदाहरणों के संदर्भ में चर्चा करेगा कि इन कीवर्ड्स का Java में उपयोग कैसे करें।

Java Exceptions

Java में, दो घटनाएं हैं जो आपके प्रोग्राम के प्रवाह को प्रभावित कर सकती हैं: errors और exceptions।

पहली घटना error है, जो Java Virtual Machine में समस्याओं को दर्शाती है जैसे मेमोरी लीक, सिस्टम का मेमोरी समाप्त होना, और लाइब्रेरी कम्पैटिबिलिटी मुद्दे। जब कोई error आती है, तो प्रोग्राम के रिकवर होने की संभावना नहीं होती। हालांकि, errors आमतौर पर कोडर के नियंत्रण से बाहर होती हैं, और इसलिए Java में, हम errors को हैंडल नहीं करते। 

Exceptions दूसरी प्रकार की घटना हैं जो आपके प्रोग्राम को प्रभावित कर सकती हैं। Exceptions को आपके कोड में पकड़ा और हैंडल किया जा सकता है। जब कोई exception आती है, तो exception के बारे में जानकारी के साथ एक ऑब्जेक्ट बनाया जाता है, जिसका उपयोग आप तब अपने कोड को यह बताने के लिए कर सकते हैं कि यदि कोई exception आती है तो क्या होना चाहिए।

Exceptions होने के कुछ कारणों में शामिल हैं:

  • आपके कोड में त्रुटियां
  • गैर-मौजूद फ़ाइलें खोलना
  • अमान्य यूजर इनपुट
  • नेटवर्क कनेक्टिविटी खोना

दो प्रकार के exceptions हैं जिनके बारे में आपको exceptions को संभालना शुरू करने से पहले पता होना चाहिए:

  • Unchecked exceptions रन-टाइम पर चेक की जाती हैं। इनमें ArithmeticException और ArrayIndexOutOfBoundsException शामिल हैं।
  • Checked exceptions कंपाइल-टाइम पर चेक की जाती हैं, और इनमें IOException और InterruptedException शामिल हैं।

अधिकांश भाग के लिए, आप अपने कोड में checked exceptions को संभालना चाहते हैं। ऐसा इसलिए है क्योंकि unchecked exceptions आमतौर पर प्रोग्रामिंग त्रुटियों का परिणाम होती हैं, बजाय आपके कोड में अप्रत्याशित व्यवहार के।

Java Throws Keyword

Java throws कीवर्ड का उपयोग उन exceptions के प्रकार की घोषणा करने के लिए किया जाता है जो कोड के ब्लॉक में उत्पन्न हो सकती हैं। यहाँ throws क्लॉज के लिए सिंटैक्स है:

accessModifier return functionName() throws Exception1, Exception2 { // Run code } 

आइए एक उदाहरण का उपयोग करके समझाते हैं कि यह कैसे काम कर सकता है। मान लीजिए हम एक सिनेमा के लिए एक प्रोग्राम बना रहे हैं जो 16 वर्ष से अधिक उम्र की फिल्म देखने वाले ग्राहक की उम्र की जांच करता है। यदि ग्राहक 16 वर्ष से कम उम्र का है, तो उन्हें फिल्म में प्रवेश की अनुमति नहीं दी जानी चाहिए; यदि वे 16 या उससे अधिक उम्र के हैं, तो उन्हें प्रवेश की अनुमति दी जानी चाहिए।

यहाँ वह कोड है जिसका उपयोग हम ग्राहक की उम्र की जांच करने और यदि ग्राहक 16 वर्ष से कम उम्र का है तो ArithmeticException exception throw करने के लिए करेंगे:

class Main { public static void verifyAge(int age) throws ArithmeticException { if (age < 16) { throw new ArithmeticException("This customer is not old enough to see the movie."); } else { System.out.println("This customer is old enough to see the movie."); } } public static void main(String[] args) { verifyAge(14); } } 

हमारा कोड निम्न आउटपुट देता है:

Exception in thread “main” java.lang.ArithmeticException: This customer is not old enough to see the movie.

    at Main.verifyAge(Main.java:4)

    at Main.main(Main.java:11)

जब हम इस प्रोग्राम को चलाते हैं, तो हमारे मुख्य प्रोग्राम में निर्दिष्ट age पैरामीटर 14 पर सेट होता है। यह 16 से कम है, इसलिए जब verifyAge() मेथड निष्पादित होता है, तो स्टेटमेंट age < 16 true का मूल्यांकन करता है, और एक ArithmeticException throw की जाती है।

throws कीवर्ड का उपयोग verifyAge() मेथड द्वारा लौटाई जाने वाली exception के प्रकार को परिभाषित करने के लिए किया जाता है। throw कीवर्ड का उपयोग हमारे प्रोग्राम में exception को throw करने के लिए किया जाता है।

Java Throw Keyword

Java throw कीवर्ड का उपयोग आपके कोड में एक सिंगल exception को throw करने के लिए किया जाता है। throw कीवर्ड के बाद एक ऑब्जेक्ट होता है जिसे प्रोग्राम में throw किया जाएगा यदि कोई exception आती है।

यहाँ Java throw कीवर्ड के लिए सिंटैक्स है:

throw throwObject;

आइए Java में exceptions को संभालने के लिए throw स्टेटमेंट के उपयोग के कुछ उदाहरणों के माध्यम से चलते हैं।

Throw Checked Exception

मान लीजिए हम चाहते हैं कि जब हमारे प्रोग्राम में IOException आती है तो एक संदेश दिखाई दे जिसमें लिखा हो, "This file does not exist." IOExceptions checked exceptions हैं, और इसलिए हमें उन्हें "throw" कीवर्ड का उपयोग करके संभालना चाहिए। यहाँ वह कोड है जिसका उपयोग हम exception को संभालने के लिए करेंगे:

import java.io.*; class Main public static void getFile() throws IOException { throw new IOException("This file does not exist."); } public static void main(String[] args) { try { getFile(); } catch (IOException error) { System.out.println(e.getMessage()); } } } 

हमारा कोड निम्न आउटपुट देता है:

This file does not exist.

आइए अपने कोड को समझते हैं। सबसे पहले, हम java.io लाइब्रेरी आयात करते हैं, जिसका उपयोग हम किसी भी प्रोग्राम में करेंगे जो फ़ाइलों को संभालता है। फिर हम Main नामक एक क्लास बनाते हैं, जो हमारे प्रोग्राम के लिए कोड स्टोर करता है।

हमारे Main क्लास में, हम getFile() नामक एक फंक्शन परिभाषित करते हैं जो IOException throw करता है। यह फंक्शन हमारे प्रोग्राम में "This file does not exist." संदेश के साथ एक IOException throw करेगा।

हमारे Main क्लास में मुख्य फंक्शन में, हम एक try/catch ब्लॉक बनाते हैं जो getFile() मेथड को निष्पादित करने का प्रयास करता है। यदि IOException आती है, तो catch ब्लॉक के भीतर कोड निष्पादित होगा, और IOException से संदेश कंसोल पर प्रिंट होगा। इसलिए, हमारा कोड लौटाता है, "This file does not exist.", जो वह संदेश है जिसे हमने पहले घोषित किया था।

Throw Unchecked Exception

तो, मान लीजिए हम StringIndexOutOfBounds exception throw करना चाहते हैं यदि हमारा प्रोग्राम किसी string में उस इंडेक्स मान को एक्सेस करने का प्रयास करता है जो मौजूद नहीं है। हम निम्न कोड का उपयोग करके ऐसा कर सकते हैं:

class Main { public static void outOfBounds() { throw new StringIndexOutOfBoundsException("This index value is invalid."); } public static void main(String[] args) { outOfBounds(); } } 

हमारे कोड में बहुत कुछ चल रहा है, तो आइए इसे समझते हैं। सबसे पहले, हमने Main नामक एक क्लास घोषित की है जिसमें इस प्रोग्राम के लिए हमारा कोड मौजूद है।

फिर हमने outOfBounds() नामक एक फंक्शन बनाया है जो, जब निष्पादित होता है, तो StringIndexOutOfBounds exception throw करेगा। संदेश This index value is invalid. exception के साथ होगा। अंत में, हमारे मुख्य प्रोग्राम में, हम outOfBounds() फंक्शन को कॉल करते हैं, जो तब लौटाता है:

Exception in thread “main” java.lang.StringIndexOutOfBoundsException: This index value is invalid.

    at Main.outOfBounds(Main.java:3)

    at Main.main(Main.java:7)

इस उदाहरण में, हमने एक unchecked exception throw की है। यह आमतौर पर आवश्यक नहीं है, जैसा कि हमने पहले चर्चा की थी, लेकिन हमने वैसे भी सिंटैक्स दिखाने के लिए एक unchecked exception throw की है।

निष्कर्ष

Checked exceptions को संभालना Java में रखरखाव योग्य कोड लिखने का एक महत्वपूर्ण हिस्सा है। Java में, throw और throws कीवर्ड्स का उपयोग exceptions को throw और संभालने के लिए किया जाता है।

इस ट्यूटोरियल में Java में throw और throws कीवर्ड्स का उपयोग कैसे करें, और आपको प्रक्रिया सीखने में मदद करने के लिए प्रासंगिक उदाहरण प्रदान किए गए हैं। इस ट्यूटोरियल को पढ़ने के बाद, आप प्रो की तरह Java में exceptions को throw और संभालना शुरू करने के लिए तैयार हैं!

  1. - Java में Exception Throw करना

    Java Exceptions Exceptions प्रोग्राम निष्पादन के दौरान होने वाली अप्रत्याशित घटनाएं हैं। जब आपका कोड किसी exception का सामना करता है, तो आपके प्रोग्राम का प्रवाह समाप्त हो जाएगा। यह महत्वपूर्ण है कि जब आप Java में कोडिंग कर रहे हों तो आप exceptions को सही ढंग से संभालें। अन्यथा, आपका कोड निष्पादन के

  1. - Java में ArrayList कैसे इनिशियलाइज़ करें

    Java Arrays.asList() मेथड और ArrayList क्लास का उपयोग Java में arrays को इनिशियलाइज़ करने के लिए किया जाता है। सामान्य List इंटरफ़ेस का उपयोग arrays बनाने के लिए नहीं किया जा सकता, इसलिए खाली array बनाने के लिए ArrayList क्लास की आवश्यकता होती है। Java Arrays.asList() मेथड हमें परिणामी array को आसान

  1. C++ में एक्सेप्शन कैसे काम करते हैं C++ में एक्सेप्शन कैसे काम करते हैं

    परिचयC++ में एक्सेप्शन हैंडलिंग रनटाइम त्रुटियों को संभालने की एक प्रक्रिया है। एक्सेप्शन एक घटना है जो C++ में रनटाइम पर फेंकी जाती है। सभी एक्सेप्शन std::exception क्लास से प्राप्त होते हैं। यह एक रनटाइम त्रुटि है जिसे संभाला जा सकता है। यदि हम एक्सेप्शन को नहीं संभालते हैं तो यह एक्सेप्शन संदेश प