2013-08-01 5 views
5

참조해야하는 예외 이름을 알고 싶습니다. 날짜가 잘못되었습니다. 나는 문서를 확인했는데 찾을 수 없었다.유효하지 않은 날짜 루비를 예외 처리하는 방법

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

가장 쉬운 방법은 알아 내려고하는 것은 당신이 추가 할 필요가 예외의 종류하면 오류를 생성하고 루비의 출력 보는 것입니다. 일반적으로 IRB 내부에서이를 수행하거나 실행중인 스크립트에서 수행 할 수 있습니다. –

+1

각 지역 변수 (또는 메소드)'day','month','year'의 정의되지 않은 오류로 인해 구조하려는 오류 유형을 판별하기가 어렵습니다. 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 
관련 문제