2013-08-01 12 views
5

Desidero sapere a quale nome di eccezione dovrei fare riferimento. Sto ricevendo una data non valida. Ho controllato i documenti e non ho potuto trovarlo.come eccezione per data ruby ​​non valida

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

Il modo più semplice per capire che tipo di eccezione è necessario aggiungere è quello di generare l'errore e guardare l'uscita di Ruby. Puoi farlo all'interno di IRB di solito, o farlo dallo script in esecuzione. –

+1

È difficile determinare quale tipo di errore si sta cercando di salvare, a causa dei possibili errori di ogni variabile locale (o metodo) 'day',' month', 'year' non in definizione. ArgumentError se sono definiti fuori da un intervallo ragionevole per una data valida, ad esempio il 37 ° giorno del mese. Altrimenti potrebbe essere necessario fornire ulteriori informazioni. – vgoff

+0

Quello che hai non è valido Ruby. Qual è il codice esatto e l'errore che stai ricevendo? –

risposta

9

Penso che stiate cercando ArgumentError. Utilizzando irb:

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

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

così

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