Project

General

Profile

Actions

Bug #8501

closed

exit code when an exception raised in at_exit hook

Added by samphippen (Sam Phippen) almost 11 years ago. Updated almost 11 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.0dev (2013-06-08) [x86_64-darwin12.3.0]
[ruby-core:55365]

Description

=begin
Actual Behaviour:

Running this file:

class MyStupidClass
def self.inspect
raise "LOOOOOL"
end
end

at_exit { p $! }
at_exit { MyStupidClass.nope }

gives a 0 exit code and the following output:

foo.rb:8:in block in <main>': undefined method nope' for #Class:0x007fe30b946740 (NoMethodError)
nil

Expected Behaviour:

A non-zero exit code, and $! populated in the at_exit hook.

Notes

Reproducible on ruby 2.1.0dev (2013-06-08), 2.0.0p0 and 1.9.3p392.

On 1.8.7 the output is:

foo.rb:8: undefined method `nope' for #Class:0x10de056b0 (NoMethodError)
from foo.rb:8
#<fatal: exception reentered>

And the exit code is 1.
=end

Actions

Also available in: Atom PDF

Like0
Like0Like0