Actions
Feature #12063
closedKeyError#receiver and KeyError#name
Status:
Closed
Assignee:
-
Target version:
-
Description
I propose KeyError#receiver and KeyError#name (or KeyError#key) like NameError.
I think these method help to debug.
And will be able to find typo on did_you_mean gem.
See also https://github.com/yuki24/did_you_mean/pull/71
begin
h = {foo: 1, bar: 2}
h.fetch(:bax)
rescue KeyError => e
p e.receiver #=> {foo: 1, bar: 2} equal `h`
p e.name #=> :bax
end
begin
h = {foo: 1, bar: 2, baz: 3}
h.fetch_values(:bar, :bax)
rescue KeyError => e
p e.receiver #=> {foo: 1, bar: 2, baz: 3} equal `h`
p e.name #=> :bax
end
begin
ENV.fetch("HOEM")
rescue KeyError => e
p e.receiver #=> ENV
p e.name #=> "HOEM"
end
begin
sprintf("%<foo>d", {fooo: 1})
rescue KeyError => e
p e.receiver #=> {fooo: 1}
p e.name #=> :foo
end
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0Like0