首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Ruby中为零或空字符串编写异常

如何在Ruby中为零或空字符串编写异常
EN

Stack Overflow用户
提问于 2016-02-03 20:45:48
回答 2查看 1.8K关注 0票数 1

一周前开始学习Ruby。迄今为止最令人沮丧的部分是异常处理。几个小时来一直在寻找我想要做的事情的例子。

我正在循环一组API代码,通过Net::Http获取文本。有时候,抓取返回为零或空,我试图测试它的方式,让我重试抓取的异常,直到它发挥作用。

我很确定我需要这样做

代码语言:javascript
运行
复制
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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-03 21:04:32

正如@eugen所说的那样,您的代码将有效。不过,在这个特殊的例子中,我不确定提出例外会有多大好处。

代码语言:javascript
运行
复制
array.each do |api_key|
  result = # the code to grab the page via the API key 
  if result.empty || result.nil
    puts "some error message"
    redo
  end
  # Act on the valid return for result
end
票数 4
EN

Stack Overflow用户

发布于 2016-02-03 20:51:56

您的代码看起来很好,只需定义异常类即可。有点像

代码语言:javascript
运行
复制
class SomeKindOfExceptionThing < StandardError
end

应该就足够了(不过,你可能需要一个更好的名字)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35187349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档