मुख्य सामग्री पर जाएं
मॉड्यूल 5 · पाठ 1 का 2पाठ्यक्रम में 9/14~12 min
मॉड्यूल पाठ (1/2)

ट्राई-कैच ब्लॉक

जावा में, रनटाइम त्रुटियों को अपवाद का उपयोग करके नियंत्रित किया जाता है। अपवाद प्रबंधन हमें विषम परिस्थितियों को रोकने और प्रोग्राम को क्रैश होने से रोकने की अनुमति देता है।

try-catch संरचना

संभावित अपवाद को संभालने के लिए, हम जोखिम भरे कोड को try ब्लॉक में संलग्न करते हैं। यदि try ब्लॉक के अंदर कोई त्रुटि होती है, तो JVM इसे निष्पादित करना बंद कर देता है और अपवाद को संभालने के लिए मिलान करने वाले catch ब्लॉक की खोज करता है।

Java
try {
    int result = 10 / 0; // Generates ArithmeticException
    System.out.println("This will not be printed");
} catch (ArithmeticException e) {
    System.out.println("Arithmetic error occurred: " + e.getMessage());
}

finally ब्लॉक

finally ब्लॉक वैकल्पिक है और हमेशा निष्पादित होता है, भले ही कोई अपवाद फेंका गया हो। यह संसाधनों को जारी करने या सफाई कार्य करने के लिए आदर्श है।

Java
try {
    System.out.println("Executing logic");
} catch (Exception e) {
    System.out.println("Error");
} finally {
    System.out.println("This block is always executed");
}

थ्रोइंग अपवाद: throw

हम जानबूझकर throw कीवर्ड का उपयोग करके अपवाद वर्ग के एक नए उदाहरण के बाद एक अपवाद फेंक सकते हैं।

Java
public static void checkScore(int score) {
    if (score < 0 || score > 100) {
        throw new IllegalArgumentException("Score must be between 0 and 100");
    }
}

खुद कोशिश करना

व्यायाम#java.m5.l1.e1
प्रयास: 0लोड हो रहा है...

डिवीजन ए/बी के परिणामस्वरूप संभावित ArithmeticException को संभालने के लिए ट्राई-कैच ब्लॉक डालकर कोड को पूरा करें। किसी त्रुटि की स्थिति में, 'त्रुटि: शून्य से विभाजन' प्रिंट करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

`ट्राई` ब्लॉक के अंदर डिवीजन ऑपरेशन डालें और आवश्यक संदेश प्रिंट करते हुए `अरिथमेटिक एक्सेप्शन` को पकड़ें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#java.m5.l1.e2
प्रयास: 0लोड हो रहा है...

ट्राई-कैच-आखिरकार ब्लॉक को लागू करने के लिए कोड को पूरा करें। प्रयास ब्लॉक में, Integer.parseInt का उपयोग करके स्ट्रिंग str को पूर्णांक में बदलने का प्रयास करें। कैच ब्लॉक में, NumberFormatException को इंटरसेप्ट करें और 'अमान्य नंबर' प्रिंट करें। अंत में ब्लॉक में, 'अंततः' प्रिंट करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

`कोशिश करें {... } कैच (नंबरफॉर्मेटएक्सेप्शन ई) {... } अंततः {... }` ब्लॉक संरचना लिखें।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#java.m5.l1.e3
प्रयास: 0लोड हो रहा है...

यदि प्रदान की गई आयु 18 से कम है, तो 'अंडरएज' संदेश के साथ एक IllegalArgumentException फेंककर चेकएज विधि को पूरा करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

अपवाद को तुरंत चालू करने और फेंकने के लिए `if (आयु < 18)` और `throw new` कीवर्ड का उपयोग करें।

3 प्रयासों के बाद समाधान उपलब्ध है