2010-12-16 11 views
2

私はレールプログラマーです。レールはいつも私に "NoMethodError"があると伝えます。なぜ私はMethodErrorを取得しないのですか?私はMethodErrorが必要です。メソッドエラーが発生しないのはなぜですか?

私を助けてください。

編集:

は、ここに私のコードです:

42.this_is_a_method 
+0

あなたがレールに 'NoMethodError'を取得する方法私たちを表示します。 –

+0

あなたはコードを置くことができますか? –

+6

これは冗談ではないことを教えてください。 –

答えて

3

RubyにはMethodErrorがありません。しかし、あなたは1つを作ることができます!今

class MethodError < NoMethodError; end 

、このようにすべてのNoMethodErrorsをキャッチ:

class Object 
    def method_missing(m) 
    raise MethodError, "undefined method `#{m}' for #{self.inspect}:#{self.class}" 
    end 
end 
+4

あまりにも複雑です。 'MethodError = NoMethodError'を実行してください。 –

+2

@ Joerg: 'MethodError'を呼び出すと、' NoMethodError:NoMethodError'が返されます。これは 'MethodError.name'が' NoMethodError'を返すからです。 –

3

Fixnumクラスは、そのクラスのインスタンスに対して定義されたthis_is_a_methodを持っていないので、あなたがNoMethodErrorを得ることになります。

関連する問題