[#75687] [Ruby trunk Bug#12416] struct rb_id_table lacks mark function — shyouhei@...
Issue #12416 has been reported by Shyouhei Urabe.
3 messages
2016/05/23
[#75763] [Ruby trunk Feature#12435] Using connect_nonblock to open TCP connections in Net::HTTP#connect — mohamed.m.m.hafez@...
Issue #12435 has been reported by Mohamed Hafez.
3 messages
2016/05/28
[#75774] Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock — Mohamed Hafez <mohamed.m.m.hafez@...>
Hi all, every now and then in my production server, I'm
4 messages
2016/05/30
[#75775] Re: Errno::EAGAIN thrown by OpenSSL::SSL::SSLSocket#connect_nonblock
— Mohamed Hafez <mohamed.m.m.hafez@...>
2016/05/30
Or does MRI's OpenSSL::SSL::SSLSocket#connect_nonblock just return
[#75782] Important: Somewhat backwards-incompatible change (Fwd: [ruby-cvs:62388] duerst:r55225 (trunk): * string.c: Activate full Unicode case mapping for UTF-8) — Martin J. Dürst <duerst@...>
With the change below, I have activated full Unicode case mapping for
4 messages
2016/05/31
[ruby-core:75586] [Ruby trunk Feature#6739] One-line rescue statement should support specifying an exception class
From:
shyouhei@...
Date:
2016-05-18 00:42:02 UTC
List:
ruby-core #75586
Issue #6739 has been updated by Shyouhei Urabe.
We looked at it in yesterday's developer meeting. Nobu told us that all the proposed syntax so far renders conflicts to existing syntax.
My feeling is that rescue modifier is "too easy to use" compared to ordinary begin-rescue-end. People tend to inappropriately use modifier style because it's much shorter. I personally suggest a coding style to restrict its usage to contain no side effects; like `expr rescue nil` or `expr rescue false`.
----------------------------------------
Feature #6739: One-line rescue statement should support specifying an exception class
https://bugs.ruby-lang.org/issues/6739#change-58720
* Author: Marvin G端lker
* Status: Feedback
* Priority: Normal
* Assignee: Yukihiro Matsumoto
----------------------------------------
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/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>