"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में ट्राई-विद-रिसोर्स क्या है और यह ट्राई-कैच-फाइनली से कैसे भिन्न है?

जावा में ट्राई-विद-रिसोर्स क्या है और यह ट्राई-कैच-फाइनली से कैसे भिन्न है?

2024-11-02 को प्रकाशित
ब्राउज़ करें:857

What is Try-With-Resource in Java and How is it Different from Try-Catch-Finally?

1. ट्राई-कैच-आखिरकार को समझना

try-catch-finally ब्लॉक अपवादों को संभालने और फ़ाइल हैंडल, डेटाबेस कनेक्शन इत्यादि जैसे संसाधनों को प्रबंधित करने का एक पारंपरिक तरीका है।

1.1 प्रयास-पकड़-अंततः की संरचना

ट्राई-कैच-अंततः ब्लॉक में तीन भाग होते हैं:

  • ब्लॉक का प्रयास करें : वह कोड जो अपवाद फेंक सकता है, यहां रखा गया है।
  • कैच ब्लॉक : ट्राई ब्लॉक द्वारा फेंके गए अपवादों को पकड़ता है और संभालता है।
  • अंततः ब्लॉक : हमेशा निष्पादित होता है, भले ही कोई अपवाद फेंका गया हो, और आमतौर पर संसाधन सफाई के लिए उपयोग किया जाता है।

1.2 ट्राई-कैच-फाइनली का उदाहरण

FileReader reader = null;
try {
    reader = new FileReader("example.txt");
    // Perform file operations
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (reader != null) {
            reader.close();
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

1.3 अंततः प्रयास-पकड़ने की सीमा

पारंपरिक try-catch-finally ब्लॉक के लिए संसाधन सफाई को मैन्युअल रूप से संभालने की आवश्यकता होती है, जिससे वर्बोज़ कोड और संभावित त्रुटियां हो सकती हैं, जैसे किसी संसाधन को बंद करना भूल जाना।

1.4 ट्राई-कैच-फाइनली का उपयोग कब करें

जब आपको उन संसाधनों को प्रबंधित करने की आवश्यकता होती है जो स्वचालित रूप से बंद नहीं होते हैं या जब पुराने जावा संस्करणों के साथ संगतता की आवश्यकता होती है, तो try-catch-finally का उपयोग करें।

2. संसाधन के साथ प्रयास का परिचय

जावा 7 में पेश किया गया, try-with-resource स्टेटमेंट AutoCloseable इंटरफ़ेस को लागू करने वाले संसाधनों को स्वचालित रूप से बंद करके संसाधन प्रबंधन को सरल बनाता है।

2.1 संसाधन के साथ प्रयास कैसे काम करता है

try-with-resource कथन यह सुनिश्चित करता है कि प्रत्येक संसाधन कथन के अंत में बंद है, जिससे बॉयलरप्लेट कोड और संसाधन लीक का खतरा कम हो जाता है।

2.2 संसाधन के साथ प्रयास का उदाहरण

try (FileReader reader = new FileReader("example.txt")) {
    // Perform file operations
} catch (IOException e) {
    e.printStackTrace();
}

2.3 संसाधन के साथ प्रयास के लाभ

  • स्वचालित संसाधन प्रबंधन: स्वचालित रूप से संसाधनों को बंद कर देता है, जिससे कोड साफ-सुथरा हो जाता है और त्रुटि-प्रवण कम हो जाता है।
  • कम बॉयलरप्लेट: संसाधनों को बंद करने के लिए स्पष्ट अंततः ब्लॉक की कोई आवश्यकता नहीं है।
  • बेहतर पठनीयता : कोड को सरल बनाता है, जिससे इसे बनाए रखना और समझना आसान हो जाता है।

2.4 संसाधन के साथ प्रयास करें और अंततः पकड़ने का प्रयास करें के बीच अंतर

  • संसाधन प्रबंधन : संसाधन के साथ प्रयास करें संसाधन सफाई को स्वचालित करता है, जबकि प्रयास-पकड़-अंततः को मैन्युअल सफाई की आवश्यकता होती है
  • त्रुटि प्रबंधन : दोनों अपवादों को संभालते हैं, लेकिन संसाधन के साथ प्रयास करें सफाई में चूक के कारण संसाधन लीक की संभावना कम हो जाती है।
  • कोड पठनीयता: संसाधन के साथ प्रयास करने से अधिक संक्षिप्त और पठनीय कोड प्राप्त होता है।

3. डेमो: कार्रवाई में संसाधन के साथ प्रयास करें

आइए एक डेमो देखें जहां हम एक साधारण फ़ाइल रीडिंग ऑपरेशन का उपयोग करके try-catch-finally और try-with-resource की तुलना करते हैं।

3.1 डेमो कोड: प्रयास-पकड़-अंततः

FileReader reader = null;
try {
    reader = new FileReader("example.txt");
    BufferedReader bufferedReader = new BufferedReader(reader);
    System.out.println(bufferedReader.readLine());
} catch (IOException e) {
    e.printStackTrace();
} finally {
    try {
        if (reader != null) {
            reader.close();
        }
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

3.2 डेमो कोड: संसाधन के साथ प्रयास करें

try (FileReader reader = new FileReader("example.txt");
     BufferedReader bufferedReader = new BufferedReader(reader)) {
    System.out.println(bufferedReader.readLine());
} catch (IOException e) {
    e.printStackTrace();
}

3.3 डेमो परिणाम

  • Try-Catch-Finally : स्पष्ट संसाधन प्रबंधन की आवश्यकता है, जिसे अगर सही ढंग से नहीं संभाला गया तो त्रुटि-प्रवण हो सकता है।
  • संसाधन के साथ प्रयास करें : स्वचालित रूप से संसाधन सफाई का प्रबंधन करता है, जिसके परिणामस्वरूप क्लीनर और सुरक्षित कोड प्राप्त होता है।

4. निष्कर्ष

निष्कर्ष में, जबकि try-catch-finally और try-with-resource दोनों जावा में अपवाद प्रबंधन और संसाधन प्रबंधन के लिए आवश्यक उपकरण हैं, try-with- संसाधन अधिक सुव्यवस्थित और त्रुटि-प्रतिरोधी दृष्टिकोण प्रदान करता है। यह स्वचालित रूप से संसाधन समापन को संभालता है, जिसके परिणामस्वरूप क्लीनर और अधिक रखरखाव योग्य कोड होता है। AutoCloseable इंटरफ़ेस को लागू करने वाले संसाधनों के साथ काम करते समय, इसकी सादगी और विश्वसनीयता के लिए try-with-resource को प्राथमिकता दें।

यदि आपके कोई प्रश्न हैं या अधिक स्पष्टीकरण की आवश्यकता है तो बेझिझक नीचे टिप्पणी करें!

यहां अधिक पोस्ट पढ़ें : जावा में ट्राई-विद-रिसोर्स क्या है और यह ट्राई-कैच-फाइनली से कैसे अलग है?

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/anh_trntun_4732cf3d299/what-is-try-with-resource-in-java-and-how-is-it-dependent-from-try-catch-finally-lf5? 1 क्योंकि यदि कोई उल्लंघन है, तो कृपया उसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3