क्यों vavr की कोशिश कंटेनर कैच फेंकने योग्य नहीं बल्कि अपवाद करता है?

वोट
0

मैं जावा के प्रकार प्रणाली और अपवाद हैंडलिंग में एक विशेषज्ञ नहीं हूँ। लेकिन मैं इतना में पाया है कि हम केवल अपवाद नहीं बल्कि फेंकने योग्य के पकड़ने चाहिए।

: यहाँ की कड़ी है एक कोशिश पकड़ में फेंकने योग्य का उपयोग करने और अपवाद के बीच अंतर

Vavr के पुस्तकालय में मैं इस स्रोत कोड मिला:

public interface Try<T> extends Value<T>, Serializable {
long serialVersionUID = 1L;

static <T> Try<T> of(CheckedFunction0<? extends T> supplier) {
    Objects.requireNonNull(supplier, supplier is null);

    try {
        return new Try.Success(supplier.apply());
    } catch (Throwable var2) {
        return new Try.Failure(var2);
    }
}

मैं भविष्य में किसी भी मुद्दे के लिए होता है अगर मैं इस कंटेनर का प्रयोग करेंगे? मैं कुछ महत्वपूर्ण अपवाद 'के' समारोह के निष्पादन के दौरान हो सकता है कि याद करेंगे?

02/12/2019 को 23:56
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
2

Throwableकी एक सुपर क्लास है Exception, जिसका अर्थ है catch (Throwable var)कैच अपवाद के रूप में अच्छी तरह से। इसलिए vavr में कोड सही है - जब भी कोई है Throwableफेंक दिया यह एक में लिपटे हो जाएगा Try.Failure

03/12/2019 को 00:00
का स्रोत उपयोगकर्ता

वोट
1

नोट क्या जवाब जुड़ा हुआ पोस्ट में कहते हैं:

आप आम तौर पर ऐसा नहीं है, बहुत उच्चतम एक धागा जहां प्रवेश करने के लिए या चाहते हैं के स्तर पर "सभी को पकड़ने" पर सिवाय शायद चाहिए अन्यथा बिल्कुल सब कुछ गलत हो सकता है कि संभाल

जोर मेरा।

यही कारण है कि यहां संभावित मंशा है। यह एक है tryआवरण को संभालने के लिए मतलब सब कुछ और उपयोगकर्ता यह तय करें कि वे साथ और कैसे सौदा करना चाहते हैं। यह वे स्काला की तरह एक निर्माण के लिए जा रहे हैं लगता है Tryकि आप उन्हें स्वयं को पकड़ने के बिना अपवाद संभाल जाने के लिए। कि काम करते हैं और लगातार होने के लिए, सब कुछ उसी तरह से संभाला जाना चाहिए, या आप किसी पकड़ा जा करने की जरूरत के अपवाद हैं, तथा अपेक्षाकृत कम इस वर्ग का इरादा रखता नियंत्रित किया जाता है होगा।

से संबंधित

मैं कुछ महत्वपूर्ण अपवाद 'के' समारोह के निष्पादन के दौरान हो सकता है कि याद करेंगे?

आप उन्हें छूट न जाए। वे एक में लिपटे लौटा दी रहे हैं Try.Failure, और आप त्रुटि प्राप्त करने के बाद फिर उन्हें संभाल कर सकते हैं।

03/12/2019 को 00:01
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more