NameError

若使用未定义的变量或常数时就会触发该异常.

超类:

类方法:

NameError.new(error_message[, name]) ((<ruby 1.8 特性>))

生成并返回异常对象. name是未定义的符号.

err = NameError.new("message", "foo")
p err
p err.name

# => #<NameError: message>
     "foo"

方法:

NameError#name

返回未定义的符号.

begin
  foobar
rescue NameError
  p $!
  p $!.name
end
# => #<NameError: undefined local variable or method `foobar' for main:Object>
     :foobar