errors/no_method_error/args.rb
tests/_examples/errors/no_method_error/args.rb in the metorex repository.
built = NoMethodError.new "msg", "name", ["args"]
p built.args
p built.name
bare = NoMethodError.new "msg"
puts bare.message
p bare.args
class Receiver
end
def caught
yield
rescue NoMethodError => error
error
end
no_arguments = caught { Receiver.new.missing }
p no_arguments.name
p no_arguments.args
with_arguments = caught { Receiver.new.missing 1, :two, "three" }
p with_arguments.args
copied = with_arguments.dup
p copied.name
p copied.args
p copied.receiver.class.to_s
puts "ab" * 3
puts("-" * 5)
begin
puts "x" * -1
rescue ArgumentError => error
puts error.message
end
Output:
["args"]
"name"
msg
nil
:missing
[]
[1, :two, "three"]
:missing
[1, :two, "three"]
"Receiver"
ababab
-----
negative argument