例外ではなく、独自のメソッドで例外を処理する方法はありますか?独自のメソッドで例外を処理する方法
items.each do |item|
begin
url = item.url
page = Nokogiri::HTML(open(url).read)
rescue Exception => e
puts "Couldn't read \"#{ url }\": #{ e }"
else
title = get_title(page)
end
end
ような何か:私はelse
句を置くべき
def get_page(url)
begin
Nokogiri::HTML(open(url).read)
rescue Exception => e
puts "Couldn't read \"#{ url }\": #{ e }"
end
end
#and then call:
items.each do |item|
get_page(url)
title = get_title(page)
end
?
これは、それが問題を扱うRubyの例外だ、鋸山の質問ではありません。 –
@theTinMan私はそう思います、それはRubyの質問です。間違ったタイトルやタグを使用しましたか? –
あなたはそれをNokogiriとタグ付けしました。 Nokogiriはコードで言及されていますが、問題は例外処理に関するものではありません。これがNokogiri特有の例外を処理する場合、Nokogiriをタグ付けすることは意味があります。そうでなければ、OpenURIまたはKernelをタグ付けすることは、ファイルを読み出す例外を発生させる 'open'動作を提供するので、より意味をなさないでしょう。それはあなたのコードと、宝石/図書館が何を供給しているかを理解することです。 –