Ruby 如何处理无效日期的异常

Ruby 如何处理无效日期的异常,ruby,Ruby,我想知道我应该引用什么异常名称。我得到了无效的日期。我查了一下文件,没找到 Begin Date.new(day,month,year) Rescue exceptionname statements 我想你在找我。使用: 所以 确定需要添加何种异常的最简单方法是生成错误并查看Ruby的输出。您通常可以在IRB内部执行此操作,也可以从正在运行的脚本中执行此操作。由于未定义每个局部变量(或方法)day、month、year的可能错误,因此很难确定您要拯救的错误类型。Argumen

我想知道我应该引用什么异常名称。我得到了无效的日期。我查了一下文件,没找到

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

我想你在找我。使用:

所以


确定需要添加何种异常的最简单方法是生成错误并查看Ruby的输出。您通常可以在IRB内部执行此操作,也可以从正在运行的脚本中执行此操作。由于未定义每个局部变量(或方法)
day
month
year
的可能错误,因此很难确定您要拯救的错误类型。ArgumentError如果它们的定义超出了有效日期的合理范围,例如一个月的第37天。否则,您可能需要提供更多信息。您拥有的信息无效。你得到的确切代码和错误是什么?在这种情况下,错误就是代码,真的。但我明白你的意思。
> 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