gpt4 book ai didi

ruby-on-rails - Ruby 挽救多个特定错误

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:15 25 4
gpt4 key购买 nike

在 Rails 中,我试图验证通过 Excel 文档导入的日期。它不会通过 ActiveRecord,所以我不能使用 Timeliness gem我在我用来验证其他日期的系统中。

所以我写了我自己的 gem 来验证日期的格式,但是有些日期是无效的,比如 31/04/2013,如果日期不正确格式然后它会引发一个RuntimeError,我拯救它并提供错误消息。但在 ruby 中:

Date.new(2013,4,31)
» ArgumentError: invalid date

所以我想拯救他们中的任何一个。我只是担心会出现一些 ArgumentError 而不是这个。所以我希望它只挽救 ArgumentError: invalid date,这可能吗?

这是我写的excel日期检查器

  def as_date
return nil if self.blank?
begin
date = DateDojo::DateSensei.date_format_validation(self)
if date.class == Date
return date
else
return false
end
rescue RuntimeError
:invalid_date_format_to_make_validations_cry_and_die_sad_face
rescue ArgumentError
:dates_that_wouldnt_exist_even_in_the_correct_format
end
end

最佳答案

您可以像这样定位特定的错误消息:

begin
...
rescue ArgumentError => e
if e.message =~ /invalid date/
# Do something
else
puts e.message
end
end

关于ruby-on-rails - Ruby 挽救多个特定错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com