我在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。我真的回答问题,我最近一直在问一些非常棘手的问题并且没有得到答复。不过,这个对你们来说不应该太难。 :)
答案 0 :(得分:2)
不确定你是否抓住了这样的错误,但你可以尝试一下。
begin
....
client.video_by(youtube_id)
...
rescue OpenURI::HTTPError
flash[:notice] = "Oh no! Something bad happened..."
redirect_to(:action => 'search')
end