2013-08-01 7 views
5

के लिए अपवाद कैसे करें मैं जानना चाहता हूं कि मुझे किस अपवाद नाम का संदर्भ देना चाहिए। मुझे अमान्य तिथि मिल रही है। मैंने दस्तावेज़ों की जांच की और मुझे यह नहीं मिला।अमान्य तिथि रूबी

Begin 
    Date.new(day,month,year) 
Rescue exceptionname 
    statements 
+1

सबसे आसान तरीका है यह पता लगाने की क्या अपवाद आप जोड़ने की जरूरत है की तरह त्रुटि पैदा करते हैं और रूबी के उत्पादन को देखने के लिए है। आप इसे आईआरबी के अंदर आमतौर पर कर सकते हैं, या इसे चल रहे स्क्रिप्ट से कर सकते हैं। –

+1

प्रत्येक स्थानीय चर (या विधि) 'दिन', 'माह',' वर्ष' की परिभाषित नहीं होने की संभावित त्रुटियों के कारण, आप किस त्रुटि प्रकार को बचाने की कोशिश कर रहे हैं, यह निर्धारित करना मुश्किल है। ArgumentError अगर उन्हें वैध तिथि के लिए उचित सीमा से बाहर परिभाषित किया गया है, जैसे कि एक महीने के 37 वें दिन। अन्यथा आपको अधिक जानकारी देने की आवश्यकता हो सकती है। – vgoff

+0

आपके पास जो वैध है वह रूबी मान्य नहीं है। आपको क्या सटीक कोड और त्रुटि मिल रही है? –

उत्तर

9

मुझे लगता है कि आप ArgumentError देख रहे हैं। irb का उपयोग करना:

> Date.new(2,-200, 3) 

ArgumentError: invalid date 
    from (irb):11:in `new' 
    from (irb):11 

तो

begin 
    Date.new(2,-200, 3) 
rescue ArgumentError 
    #your logic 
end 
संबंधित मुद्दे