一周前开始学习Ruby。迄今为止最令人沮丧的部分是异常处理。几个小时来一直在寻找我想要做的事情的例子。
我正在循环一组API代码,通过Net::Http获取文本。有时候,抓取返回为零或空,我试图测试它的方式,让我重试抓取的异常,直到它发挥作用。
我很确定我需要这样做
array.each do |api_key|
  begin
   result = # the code to grab the page via the API key
   if result.empty or result.nil
     raise SomeKindOfExceptionThing
   end
  rescue SomeKindOfExceptionThing
    puts "some error message"
    retry
  else
    # Act on the valid return for result
  end
end我不知道该怎么做,所以它能做我想做的。我发现的大多数关于异常的文档都是用于处理预定义类型的错误,或者仅仅是一个通用的rescue。
发布于 2016-02-03 20:51:56
您的代码看起来很好,只需定义异常类即可。有点像
class SomeKindOfExceptionThing < StandardError
end应该就足够了(不过,你可能需要一个更好的名字)。
https://stackoverflow.com/questions/35187349
复制相似问题