当youtube_it gem找不到视频时,如何处理404响应

时间:2012-03-16 02:13:40

标签: ruby youtube gem http-status-code-404 open-uri

我在Sinatra应用程序中使用gem youtube_it。我想用它来检查youtube视频ID是否有效。

client.video_by(youtube_id)

是查询。当id无效时,我得到这个回复。

OpenURI::HTTPError: 400
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/parser.rb:8:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/client.rb:95:in `new'
    from /Library/Ruby/Gems/1.8/gems/youtube_it-2.1.4/lib/youtube_it/client.rb:95:in `video_by'
    from (irb):22

我不知道如何处理这个,所以我可以告诉我的用户他们提供的ID是无效的。

谢谢!

P.S。我真的回答问题,我最近一直在问一些非常棘手的问题并且没有得到答复。不过,这个对你们来说不应该太难。 :)

1 个答案:

答案 0 :(得分:2)

不确定你是否抓住了这样的错误,但你可以尝试一下。

begin  
  .... 
  client.video_by(youtube_id)
  ... 
rescue OpenURI::HTTPError
  flash[:notice] = "Oh no! Something bad happened..."
  redirect_to(:action => 'search')
end