मेरे पास कई फ़ंक्शन हैं जो या तो कुछ वापस करते हैं या एक त्रुटि फेंकते हैं। एक मुख्य फ़ंक्शन में, मैं इनमें से प्रत्येक को कॉल करता हूं, और प्रत्येक फ़ंक्शन द्वारा लौटाए गए मान को वापस करना चाहता हूं, या यदि पहले फ़ंक्शन में कोई त्रुटि होती है, तो दूसरे फ़ंक्शन पर जाएं।
तो मूल रूप से मेरे पास वर्तमान में क्या है:
function testAll() {
try { return func1(); } catch(e) {}
try { return func2(); } catch(e) {} // If func1 throws error, try func2
try { return func3(); } catch(e) {} // If func2 throws error, try func3
}
लेकिन वास्तव में मैं tryइसे वापस करने के लिए (यानी अगर यह एक त्रुटि नहीं है) करना चाहते हैं। मुझे catchब्लॉक की जरूरत नहीं है । हालाँकि, कोड की तरह try {}विफल रहता है क्योंकि यह एक (अप्रयुक्त) catch {}ब्लॉक याद कर रहा है ।
मैंने jsFiddle पर एक उदाहरण दिया ।
तो, क्या उन catchब्लॉकों को हटाने का कोई तरीका है जो समान प्रभाव को प्राप्त करते हुए हटाए जाते हैं?
nullऔर आप कुछ ऐसा करेंreturn func1() || func2() || func3();