0

このエラーが発生することがありますが、プログラムを完全に停止するのではなく、エラーが発生したときにRailsにエラーをレスキュー/スキップさせたいだけです。これを行う良い方法はありますか?

以下は私のコードです:

<% wiki = MediaWiki.new(:domain => 'commons.wikimedia.org') %>
<% wikimedia_user = wiki.find("File:Samuel_L_Jackson_as_Nick_Fury.jpg") %>

2 行目で次のエラーが発生します。

NoMethodError (undefined method `first' for nil:NilClass)

wikimedia_userその場合は、 nil に設定したいだけです。.inspect?の最後に追加しようとしました.findが、エラーだけが表示されます。これを行う方法はありますか?

4

1 に答える 1

3

例外を抑制して nil を返したい行と同じ行rescue nilの末尾に追加します。

<% wikimedia_user = wiki.find("File:Samuel_L_Jackson_as_Nick_Fury.jpg") rescue nil %>

注: その行からスローされたあらゆる種類の例外がそのレスキューによってキャッチされるため、これは一般的に良い方法とは見なされません。あなたの場合、それはおそらく大きな問題ではありませんが、前進するために心に留めておくべきことです.

于 2012-12-14T05:33:14.260 に答える