मॉड्यूल पाठ (1/2)
ट्राई-कैच ब्लॉक
जावा में, रनटाइम त्रुटियों को अपवाद का उपयोग करके नियंत्रित किया जाता है। अपवाद प्रबंधन हमें विषम परिस्थितियों को रोकने और प्रोग्राम को क्रैश होने से रोकने की अनुमति देता है।
try-catch संरचना
संभावित अपवाद को संभालने के लिए, हम जोखिम भरे कोड को try ब्लॉक में संलग्न करते हैं। यदि try ब्लॉक के अंदर कोई त्रुटि होती है, तो JVM इसे निष्पादित करना बंद कर देता है और अपवाद को संभालने के लिए मिलान करने वाले catch ब्लॉक की खोज करता है।
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 ब्लॉक वैकल्पिक है और हमेशा निष्पादित होता है, भले ही कोई अपवाद फेंका गया हो। यह संसाधनों को जारी करने या सफाई कार्य करने के लिए आदर्श है।
try {
System.out.println("Executing logic");
} catch (Exception e) {
System.out.println("Error");
} finally {
System.out.println("This block is always executed");
}थ्रोइंग अपवाद: throw
हम जानबूझकर throw कीवर्ड का उपयोग करके अपवाद वर्ग के एक नए उदाहरण के बाद एक अपवाद फेंक सकते हैं।
public static void checkScore(int score) {
if (score < 0 || score > 100) {
throw new IllegalArgumentException("Score must be between 0 and 100");
}
}खुद कोशिश करना
डिवीजन ए/बी के परिणामस्वरूप संभावित ArithmeticException को संभालने के लिए ट्राई-कैच ब्लॉक डालकर कोड को पूरा करें। किसी त्रुटि की स्थिति में, 'त्रुटि: शून्य से विभाजन' प्रिंट करें।
संकेत दिखाएँ
`ट्राई` ब्लॉक के अंदर डिवीजन ऑपरेशन डालें और आवश्यक संदेश प्रिंट करते हुए `अरिथमेटिक एक्सेप्शन` को पकड़ें।
3 प्रयासों के बाद समाधान उपलब्ध है
ट्राई-कैच-आखिरकार ब्लॉक को लागू करने के लिए कोड को पूरा करें। प्रयास ब्लॉक में, Integer.parseInt का उपयोग करके स्ट्रिंग str को पूर्णांक में बदलने का प्रयास करें। कैच ब्लॉक में, NumberFormatException को इंटरसेप्ट करें और 'अमान्य नंबर' प्रिंट करें। अंत में ब्लॉक में, 'अंततः' प्रिंट करें।
संकेत दिखाएँ
`कोशिश करें {... } कैच (नंबरफॉर्मेटएक्सेप्शन ई) {... } अंततः {... }` ब्लॉक संरचना लिखें।
3 प्रयासों के बाद समाधान उपलब्ध है
यदि प्रदान की गई आयु 18 से कम है, तो 'अंडरएज' संदेश के साथ एक IllegalArgumentException फेंककर चेकएज विधि को पूरा करें।
संकेत दिखाएँ
अपवाद को तुरंत चालू करने और फेंकने के लिए `if (आयु < 18)` और `throw new` कीवर्ड का उपयोग करें।
3 प्रयासों के बाद समाधान उपलब्ध है