विभिन्न उद्देश्यों को पूरा करने और बचाव करने का प्रयास करें। try
के प्रयोजन क्या करने वाले से आप को बचाने के लिए है:
if user && user.email
या किसी भी स्थिति जहां पैरेंट ऑब्जेक्ट संभवतः नहीं के बराबर हो सकता है, जो NilClass पर एक NoMethodError का कारण होगा। rescue
का उद्देश्य उन अपवादों को संभालना है जो आपके विधि आमंत्रण द्वारा फेंक दिए जाते हैं। यदि आप user.email
पर कॉल करने से अपवाद की अपेक्षा करते हैं, तो आप अपवाद को रोकने से रोकने के लिए rescue nil
कर सकते हैं।
सामान्य तौर पर, मैं rescue nil
प्रयोग करने से बचें जब तक आप स्पष्ट पता है कि अपवाद आप बचाव कर रहे हैं क्योंकि आप एक अलग अपवाद बचाव किया जा सकता है कहेंगे, और आप इसे कभी पता नहीं होगा क्योंकि rescue nil
यह देखने से रोका जा सके। कम से कम हो सकता है आप यह लोग इन कर सकते हैं:
begin
...some code...
rescue => ex
logger.error ex.message
end
स्रोत
2011-05-19 18:49:06
काश इस कोशिश स्रोत का लिंक था। –
यहाँ [दस्तावेज़ और स्रोत] (http://api.rubyonrails.org/classes/Object.html#method-i-try) ActiveSuppot # try' 'करने के लिए है। –