Ruby 教程 之 Ruby 异常 7
Ruby 异常
异常和执行总是被联系在一起。如果您打开一个不存在的文件,且没有恰当地处理这种情况,那么您的程序则被认为是低质量的。
使用 else 语句
如果提供了 else 子句,它一般是放置在 rescue 子句之后,任意 ensure 之前。
else 子句的主体只有在代码主体没有抛出异常时执行。
语法
begin
.. 过程
.. 抛出异常
rescue
.. 处理错误
else
.. 如果没有异常则执行
ensure
.. 最后确保执行
.. 这总是会执行
end
实例
begin
抛出 'A test exception.'
puts "I'm not raising exception"
rescue Exception => e
puts e.message
puts e.backtrace.inspect
else
puts "Congratulations-- no errors!"
ensure
puts "Ensuring execution"
end
以上实例运行输出结果为:
I'm not raising exception
Congratulations-- no errors!
Ensuring execution
使用 $! 变量可以捕获抛出的错误消息。