ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:103502] [Ruby master Bug#17812] Timeout::Error doesn't let two-argument raise() set a new message
@ 2021-04-17 21:00 martin.dorey
  2021-04-20 17:45 ` [ruby-core:103527] " merch-redmine
  0 siblings, 1 reply; 2+ messages in thread
From: martin.dorey @ 2021-04-17 21:00 UTC (permalink / raw)
  To: ruby-core

Issue #17812 has been reported by martin.dorey@hds.com (Martin Dorey).

----------------------------------------
Bug #17812: Timeout::Error doesn't let two-argument raise() set a new message
https://bugs.ruby-lang.org/issues/17812

* Author: martin.dorey@hds.com (Martin Dorey)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
Shouldn't this:
```
martind@pizzagate:~$ ruby -we 'require "timeout"; raise(Timeout::Error.new("hello"), "world")'
Traceback (most recent call last):
-e:1:in `<main>': hello (Timeout::Error)
martind@pizzagate:~$ 
```
... say "world", like this:
```
martind@pizzagate:~$ ruby -we 'raise(RuntimeError.new("hello"), "world")'
Traceback (most recent call last):
-e:1:in `<main>': world (RuntimeError)
martind@pizzagate:~$ 
```
... rather than "hello"?

Sorry to raise an issue against such an old version but, if I'm right about the cause being that Timeout::Error#exception ignores its arguments, then that, judging by https://github.com/ruby/ruby/blob/3d32c217586a48c709b762865a8abc46f9098455/lib/timeout.rb#L38, hasn't changed since.

I have a work around for what I'm trying to do, which is generic code to re-raise an exception with some added information, so I don't need a fix or help, but I wanted to do my little bit to help Ruby have fewer surprises.  I was interested to discover, in doing this, the new :cause option.  I did try to check that I'm not raising a duplicate, but sorry if I failed.



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [ruby-core:103527] [Ruby master Bug#17812] Timeout::Error doesn't let two-argument raise() set a new message
  2021-04-17 21:00 [ruby-core:103502] [Ruby master Bug#17812] Timeout::Error doesn't let two-argument raise() set a new message martin.dorey
@ 2021-04-20 17:45 ` merch-redmine
  0 siblings, 0 replies; 2+ messages in thread
From: merch-redmine @ 2021-04-20 17:45 UTC (permalink / raw)
  To: ruby-core

Issue #17812 has been updated by jeremyevans0 (Jeremy Evans).


I've submitted a pull request to fix this: https://github.com/ruby/timeout/pull/3

----------------------------------------
Bug #17812: Timeout::Error doesn't let two-argument raise() set a new message
https://bugs.ruby-lang.org/issues/17812#change-91628

* Author: martin.dorey@hds.com (Martin Dorey)
* Status: Open
* Priority: Normal
* ruby -v: ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux-gnu]
* Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN
----------------------------------------
Shouldn't this:
```
martind@pizzagate:~$ ruby -we 'require "timeout"; raise(Timeout::Error.new("hello"), "world")'
Traceback (most recent call last):
-e:1:in `<main>': hello (Timeout::Error)
martind@pizzagate:~$ 
```
... say "world", like this:
```
martind@pizzagate:~$ ruby -we 'raise(RuntimeError.new("hello"), "world")'
Traceback (most recent call last):
-e:1:in `<main>': world (RuntimeError)
martind@pizzagate:~$ 
```
... rather than "hello"?

Sorry to raise an issue against such an old version but, if I'm right about the cause being that Timeout::Error#exception ignores its arguments, then that, judging by https://github.com/ruby/ruby/blob/3d32c217586a48c709b762865a8abc46f9098455/lib/timeout.rb#L38, hasn't changed since.

I have a work around for what I'm trying to do, which is generic code to re-raise an exception with some added information, so I don't need a fix or help, but I wanted to do my little bit to help Ruby have fewer surprises.  I was interested to discover, in doing this, the new :cause option.  I did try to check that I'm not raising a duplicate, but sorry if I failed.



-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-04-20 17:45 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-17 21:00 [ruby-core:103502] [Ruby master Bug#17812] Timeout::Error doesn't let two-argument raise() set a new message martin.dorey
2021-04-20 17:45 ` [ruby-core:103527] " merch-redmine

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).