errors/exit_rescued.rb
tests/_examples/errors/exit_rescued.rb in the metorex repository.
begin
exit
rescue SystemExit => error
puts error.message
puts error.status
puts error.success?
end
begin
exit 42
rescue SystemExit => error
puts error.status
puts error.success?
end
begin
exit(-1)
rescue SystemExit => error
puts error.status
puts error.success?
end
begin
exit false
rescue SystemExit => error
puts error.status
puts error.success?
end
begin
exit(true)
rescue SystemExit => error
puts error.status
puts error.success?
end
def leaves
exit 7
ensure
puts "ensure ran"
end
begin
leaves
rescue SystemExit => error
puts error.status
end
begin
begin
exit 3
rescue StandardError
puts "should not rescue here"
end
rescue SystemExit => error
puts "SystemExit is not a StandardError"
puts error.class
end
Output:
exit
0
true
42
false
-1
false
1
false
0
true
ensure ran
7
SystemExit is not a StandardError
SystemExit