From: matthew@... Date: 2014-07-25T22:13:22+00:00 Subject: [ruby-core:64018] [ruby-trunk - Bug #10042] Deprecate postfix rescue syntax for removal in 3.0 Issue #10042 has been updated by Matthew Kerwin. On 26/07/2014, naruse@airemix.jp wrote: > Issue #10042 has been updated by Yui NARUSE. > > > I sometimes use postfix rescue, and often want a new syntax to specify > exceptions to rescue. > This was a feature of MOO Code, on which I cut my teeth in the 90s. It lead me to create the 'try' gem. I would not be disappointed if the gem was made obsolete by a new language feature. * https://rubygems.org/gems/try * https://github.com/phluid61/ruby-experiments/tree/master/try -- Matthew Kerwin http://matthew.kerwin.net.au/ ---------------------------------------- Bug #10042: Deprecate postfix rescue syntax for removal in 3.0 https://bugs.ruby-lang.org/issues/10042#change-48032 * Author: Charles Nutter * Status: Open * Priority: Normal * Assignee: * Category: core * Target version: next minor * ruby -v: 2.1 something * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- The postfix rescue notation is convenient...but almost always is a really bad antipattern. An example of the notation: Integer(f) rescue f # returns f if it is not parseable as an Integer It silently ignores all StandardError raised by a piece of code...which often covers *many* more exceptions than the user *wants* to be ignoring. It also hides the cost of constructing and throwing away all those ignored exceptions. I believe Matz has even said in the past that he regrets adding the feature. In any case, I propose that "rescue nil" should be deprecated with a warning (either always on or only when verbose) and we should plan to remove it in 3.0. Who's with me?! -- https://bugs.ruby-lang.org/