[#77789] [Ruby trunk Feature#12012] Add Boolean method — prodis@...
Issue #12012 has been updated by Fernando Hamasaki de Amorim.
4 messages
2016/10/27
[ruby-core:77766] [Ruby trunk Feature#12063] KeyError#receiver and KeyError#name
From:
hsbt@...
Date:
2016-10-26 11:59:32 UTC
List:
ruby-core #77766
Issue #12063 has been updated by Hiroshi SHIBATA.
Assignee deleted (ruby-core)
----------------------------------------
Feature #12063: KeyError#receiver and KeyError#name
https://bugs.ruby-lang.org/issues/12063#change-61073
* Author: Yuki Kurihara
* Status: Open
* Priority: Normal
* Assignee:
----------------------------------------
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
~~~ruby
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
~~~
~~~ruby
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
~~~
~~~ruby
begin
ENV.fetch("HOEM")
rescue KeyError => e
p e.receiver #=> ENV
p e.name #=> "HOEM"
end
~~~
~~~ruby
begin
sprintf("%<foo>d", {fooo: 1})
rescue KeyError => e
p e.receiver #=> {fooo: 1}
p e.name #=> :foo
end
~~~
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>