mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
64 lines
1.2 KiB
Ruby
64 lines
1.2 KiB
Ruby
|
module RescueSpecs
|
||
|
def self.begin_else(raise_exception)
|
||
|
begin
|
||
|
ScratchPad << :one
|
||
|
raise "an error occurred" if raise_exception
|
||
|
rescue
|
||
|
ScratchPad << :rescue_ran
|
||
|
:rescue_val
|
||
|
else
|
||
|
ScratchPad << :else_ran
|
||
|
:val
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def self.begin_else_ensure(raise_exception)
|
||
|
begin
|
||
|
ScratchPad << :one
|
||
|
raise "an error occurred" if raise_exception
|
||
|
rescue
|
||
|
ScratchPad << :rescue_ran
|
||
|
:rescue_val
|
||
|
else
|
||
|
ScratchPad << :else_ran
|
||
|
:val
|
||
|
ensure
|
||
|
ScratchPad << :ensure_ran
|
||
|
:ensure_val
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def self.begin_else_return(raise_exception)
|
||
|
begin
|
||
|
ScratchPad << :one
|
||
|
raise "an error occurred" if raise_exception
|
||
|
rescue
|
||
|
ScratchPad << :rescue_ran
|
||
|
:rescue_val
|
||
|
else
|
||
|
ScratchPad << :else_ran
|
||
|
:val
|
||
|
end
|
||
|
ScratchPad << :outside_begin
|
||
|
:return_val
|
||
|
end
|
||
|
|
||
|
def self.begin_else_return_ensure(raise_exception)
|
||
|
begin
|
||
|
ScratchPad << :one
|
||
|
raise "an error occurred" if raise_exception
|
||
|
rescue
|
||
|
ScratchPad << :rescue_ran
|
||
|
:rescue_val
|
||
|
else
|
||
|
ScratchPad << :else_ran
|
||
|
:val
|
||
|
ensure
|
||
|
ScratchPad << :ensure_ran
|
||
|
:ensure_val
|
||
|
end
|
||
|
ScratchPad << :outside_begin
|
||
|
:return_val
|
||
|
end
|
||
|
end
|