如何解决“子”错误?

时间:2013-04-29 06:27:40

标签: ruby-on-rails ruby error-handling mechanize net-http

例如,我想从Net::HTTP::Persistent::Error进行救援,但它有多种类型:

Net::HTTP::Persistent::Error: too many connection resets (due to end of file reached - EOFError)
Net::HTTP::Persistent::Error: too many connection resets (due to Timeout::Error - Timeout::Error)
Net::HTTP::Persistent::Error: connection refused: domain:443

对于我想做其他事情的每种类型,会怎样做?

1 个答案:

答案 0 :(得分:1)

它们似乎属于同一个错误类,因此您无法通过错误类区分它们。尝试检查每个错误,看看它是否有一些包含错误详细信息的实例变量,根据这些变量可以区分类型。如果错误中没有这样的实例变量,那么您可以做的最好的事情就是解析错误消息以区分它们。