2013-08-01 8 views
5

Chcę wiedzieć, do jakiej nazwy wyjątku powinienem się odwoływać. Otrzymuję nieprawidłową datę. Sprawdziłem dokumenty i nie mogłem go znaleźć.Wyjątek dla niepoprawnej daty ruby ​​

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

Najprostszym sposobem, aby dowiedzieć się, jakiego rodzaju wyjątku trzeba dodać to do wygenerowania błędu i spojrzeć na wyjście Ruby. Możesz to zrobić w IRB zwykle lub z uruchomionego skryptu. –

+1

Trudno jest określić typ błędu, który próbujesz uratować, z powodu możliwych błędów każdej lokalnej zmiennej (lub metody) 'day',' month', 'year' nie jest zdefiniowany. ArgumentError, jeśli są zdefiniowane z rozsądnego zakresu dla prawidłowej daty, na przykład 37. dnia miesiąca. W przeciwnym razie może być konieczne podanie dodatkowych informacji. – vgoff

+0

To co masz nie jest poprawne Ruby. Jaki jest dokładny kod i błąd, który otrzymujesz? –

Odpowiedz

9

myślę szukasz ArgumentError. Korzystanie irb:

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

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

tak

begin 
    Date.new(2,-200, 3) 
rescue ArgumentError 
    #your logic 
end 
Powiązane problemy