[#63592] [ruby-trunk - Bug #10009] IO operation is 10x slower in multi-thread environment — normalperson@...
Issue #10009 has been updated by Eric Wong.
3 messages
2014/07/08
[#63682] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/13
[#63703] [ruby-trunk - Feature #10030] [PATCH] reduce rb_iseq_struct to 296 bytes — ko1@...
Issue #10030 has been updated by Koichi Sasada.
3 messages
2014/07/14
[#63743] [ruby-trunk - Bug #10037] Since r46798 on Solaris, "[BUG] rb_vm_get_cref: unreachable" during make — ngotogenome@...
Issue #10037 has been updated by Naohisa Goto.
3 messages
2014/07/15
[#64136] Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb — "Jeffrey 'jf' Lim" <jfs.world@...>
As per subject.
4 messages
2014/07/31
[#64138] Re: Ruby 2.1.2 (and 2.1.1 and probably others) assumes a libffi with 3 version numbers in extconf.rb
— "Jeffrey 'jf' Lim" <jfs.world@...>
2014/07/31
On Thu, Jul 31, 2014 at 6:03 PM, Jeffrey 'jf' Lim <jfs.world@gmail.com>
[ruby-core:64078] [ruby-trunk - Feature #6739] One-line rescue statement should support specifying an exception class
From:
nobu@...
Date:
2014-07-27 19:28:38 UTC
List:
ruby-core #64078
Issue #6739 has been updated by Nobuyoshi Nakada.
Description updated
As far as I tried, using `when` can't parse well.
----------------------------------------
Feature #6739: One-line rescue statement should support specifying an exception class
https://bugs.ruby-lang.org/issues/6739#change-48087
* Author: Marvin G端lker
* Status: Feedback
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: core
* Target version: Next Major
----------------------------------------
Hi there,
When wrapping up a single line inside a `begin`/`rescue` block I feel constantly annoyed that I have to create a whole lot of bloated code just to rescue from a specific exception. For example:
~~~ruby
begin
File.read("myfile.txt")
rescue Errno::ENOENT
puts "No file there"
end
~~~
Now it's possible to do this:
~~~ruby
File.read("myfile.txt") rescue puts "No file there"
~~~
But this forces me to rescue from `StandardError` which is not really what I want, because it swallows exceptions I'd rather have wanted to see, e.g. if I mistyped \``File.read`' as \``File.raed`' this would be swallowed as well. I know it is possible to compress the multiline statements above into a single line by using semicolons, but it's better to avoid them as they decrease readability.
So my suggestion is to add something like the following syntax to Ruby:
~~~ruby
File.read("myfile.txt") rescue Errno::ENOENT, puts "No file there"
~~~
This way it is more concise than having to write five lines (instead of just one) and still reads good (as opposed to the semicolon trick). Maybe the syntax isn't ideal as the comma operator is already used elsewhere, but the general idea should be clear though.
Valete,
Marvin
--
https://bugs.ruby-lang.org/