私は単に、自分のメソッド呼び出しで、呼び出されるメソッドで発生する可能性のあるすべての "NoMethodError"例外を抑制します。Rubyの例外処理:NoMethodErrorを抑制できません。
def foo
begin
bar1
bar2
rescue Exception
return '--'
end
end
しかし、これは機能しません。 NoMethodErrorはトップレベルに引き上げられます。
正確なエラーがundefined method
[]である:あなたが少なくグローバル何かをしたい場合は、あなたが狭いクラス、あるいは特定のインスタンス上でこれを行うことができます」nilのためNilClass'(NoMethodError)
bar1とbar2がNMEを投げたとしても、このコードはうまく動作します。 fooが呼び出された場所にコードを投稿できますか? – Pesto
正確なエラーは 'undefined method' [] 'for nil:NilClass'(NoMethodError) –
私にとってはうまく動作します。 –