में एक सामान्य विधि के रूप में अपवाद संभालने के बाद क्या कोई मुझे बता सकता है कि एक सामान्य विधि के रूप में अपवाद हैंडलिंग करने और इसे विधियों के अंदर उपयोग करने का कोई तरीका है? मुझे इसे आगे समझाएं।रुबी
उदाहरण के लिए, मैं निम्नलिखित तरीकों
def add(num1, num2)
begin
num1 + num2
rescue Exception => e
raise e
end
end
def divide(num1, num2)
begin
num1/num2
rescue Exception => e
raise e
end
end
आप देख सकते हैं है, भले ही मेरी विधि अपवाद हैंडलिंग कोड की वजह से है, केवल एक लाइन की जरूरत है, विधि बड़ा हो जाता है।
क्या मैं के लिए देख रहा हूँ (सिर्फ एक विचार) की तरह एक और अधिक स्लिमर समाधान
def add(num1, num2)
num1 + num2 unless raise_exception
end
def divide(num1, num2)
num1/num2 unless raise_exception
end
def raise_exception
raise self.Exception
end
कृपया ध्यान दें उपरोक्त कोड काम नहीं करता, बस अपना विचार है। क्या यह संभव है या कोई और अच्छा तरीका है?
ध्यान दें कि आप 'start..end' को समाप्त करके शब्दकोष पर भी कटौती कर सकते हैं, क्योंकि आपके पास एक ही प्रभाव के साथ' def..end' के भीतर 'बचाव' हो सकता है। – hammar