Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > NoMethodErrorクラス
クラスの継承リスト: NoMethodError < NameError < StandardError < Exception < Object < Kernel < BasicObject
定義されていないメソッドの呼び出しが行われたときに発生します。
例:
self.bar # => -:1: undefined method `bar' for #<Object:0x401a6c40> (NoMethodError)
プライベートなインスタンスメソッドを呼び出そうとした場合にも発生します。
例:
"".puts # => NoMethodError: private method `puts' called for "":String
メソッド呼び出しの形式でなければ NameError 例外が発生します。
例:
bar # => -:1: undefined local variable or method `bar' for #<Object:0x401a6c40> (NameError)
new(error_message = "", name = nil, args = nil) -> NoMethodError[permalink][rdoc]例外オブジェクトを生成して返します。
例:
nom = NoMethodError.new("message", "foo", [1,2,3])
p nom.name
p nom.args
# => "foo"
[1, 2, 3]
args -> [object][permalink][rdoc]メソッド呼び出しに使われた引数を配列で返します。
例:
begin
foobar(1,2,3)
rescue NoMethodError
p $!
p $!.name
p $!.args
end
# => #<NoMethodError: undefined method `foobar' for main:Object>
:foobar
[1, 2, 3]