Ruby的异常处理
Posted aWolfMan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ruby的异常处理相关的知识,希望对你有一定的参考价值。
Ruby的异常处理
如果异常处理范围是整个方法体,可以省略begin和end,直接写rescure和ensure部分的程序,不过要写在最后,避免后面的方法体内容被跳过。
def foo 方法体 rescure => ex 异常处理 ensure 后处理 end
范例:
begin
input = File.open("liuyang.txt")
input.each do |line|
printf("%s,%d", line, line.size)
end
input.close
a =1
printf("\n%d\n", a)
rescue => ex
puts "**************"
puts ex.message #message : 异常信息
puts ex.backtrace #backtrace / [email protected] : 异常的位置信息
sleep(3)
retry #使用retry后,begin一下的处理会再重新做一遍
ensure
puts "no matter what happened , execute" #不管是否发生异常,这需要执行
end
以上是关于Ruby的异常处理的主要内容,如果未能解决你的问题,请参考以下文章