2013-08-01 3 views
5

Ich möchte wissen, auf welche Ausnahme Namen ich verweisen sollte. Ich bekomme ein ungültiges Datum. Ich habe die Dokumente überprüft und konnte sie nicht finden.Wie zur Ausnahmeregelung für ungültiges Datum Ruby

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

Der einfachste Weg, die Sie hinzufügen müssen, welche Art von Ausnahme, um herauszufinden, ist, den Fehler zu erzeugen, und bei Rubys Ausgang suchen. Sie können dies normalerweise innerhalb von IRB tun, oder tun Sie es aus dem laufenden Skript. –

+1

Es ist schwierig zu bestimmen, welchen Fehlertyp Sie versuchen zu retten, da mögliche Fehler jeder lokalen Variablen (oder Methode) "Tag", "Monat", "Jahr" nicht definiert sind. ArgumentError, wenn sie für einen gültigen Zeitraum, z. B. den 37. Tag eines Monats, außerhalb eines angemessenen Bereichs definiert sind. Andernfalls müssen Sie möglicherweise weitere Informationen angeben. – vgoff

+0

Was Sie haben, ist Ruby nicht gültig. Was ist der genaue Code und der Fehler, den Sie bekommen? –

Antwort

9

Ich denke, Sie suchen nach ArgumentError. irb Mit:

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

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

so

begin 
    Date.new(2,-200, 3) 
rescue ArgumentError 
    #your logic 
end 
Verwandte Themen