From: spam@... Date: 2017-02-13T21:02:10+00:00 Subject: [ruby-core:79523] [Ruby trunk Feature#13212] Syntax proposal: don't require begin-end to rescue exceptions inside do-end blocks Issue #13212 has been reported by Damian Nowak. ---------------------------------------- Feature #13212: Syntax proposal: don't require begin-end to rescue exceptions inside do-end blocks https://bugs.ruby-lang.org/issues/13212 * Author: Damian Nowak * Status: Open * Priority: Normal * Assignee: * Target version: ---------------------------------------- Blocks are ubiquitous in Ruby world. There's as many blocks in every Ruby code as methods - if not even more. It would be very nice to treat blocks as first class citizens like methods and reduce the undesirable begin-end boilerplate inside blocks for exception handling. Here's the syntax proposal: ~~~ ruby arr.each do |e| do_something(e) rescue MyException => e # handle exception end ~~~ Just like in methods: ~~~ ruby def method do_something rescue MyException => ex # handle exception end ~~~ Currently `begin-end` block is required for handling exceptions inside blocks: ~~~ ruby arr.each do |e| begin do_something(e) rescue MyException => ex # handle exception end end ~~~ Whether the same syntax would apply for {} block/lambda syntax is debatable. {} are typically one-liners and I barely ever saw a begin-rescue-end inside them. Thank you -Damian Nowak -- https://bugs.ruby-lang.org/ Unsubscribe: