How can I read what type of error occured in rescue clause.
For example, I have the following:
begin
“some code here”
rescue
case
when “error type 1”
when “error type 2”
end
end
I know I could raise errors within code section and then have specif
rescues, but I want to have one rescue and then do different things with
it in the rescue.
I know I could raise errors within code section and then have specif
rescues, but I want to have one rescue and then do different things with
it in the rescue.
Thanks in advance.
You can do something like this:
begin
…
rescue => e
end
basically, the “=> e” bit will store the thrown error in the “e”
variable.
I know I could raise errors within code section and then have specif
rescues, but I want to have one rescue and then do different things with
it in the rescue.
errors.each do |klass|
begin
puts “raising #{klass.name}”
raise klass
rescue => e
case e
when IOError
puts “it’s IOError!”
when ZeroDivisionError
puts “it’s ZeroDivisionError”
else
puts “other error: #{e.class.name}”
end
end
end