Project

General

Profile

Actions

Feature #14684

closed

IRB swallows exceptions

Added by RubyBugs (A Nonymous) about 6 years ago. Updated about 6 years ago.

Status:
Closed
Target version:
-
[ruby-core:86528]

Description

Summary

IRB swallows exceptions, doesn't provide programatic access to raised exception in session.

Details

On Ruby 2.3.4, we find it surprising that exceptions in IRB are swallowed, and are not accessible at the two locations we checked:

  1. In the global variable for most recent exception $!
  2. In the return value of evaluating the expression _

Consider this IRB session:

def method_which_raises
  1/0
end

method_which_raises

# ZeroDivisionError: divided by 0
#	from (irb):10:in `/'
#	from (irb):10:in `method_which_raises'
#	from (irb):13
#	from /Users/marcsiegel/.rubies/ruby-2.3.4/bin/irb:11:in `<main>'

Observed

Neither _ nor $! give access to the raised exception, so that during development or debugging, one could dig further into what had occurred.

Expected

Either _ or $! would give programmatic access in IRB to an exception

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0