在Ruby中,异常处理主要使用begin
、rescue
、else
和ensure
关键字。下面是一个简单的示例:
begin
# 这里放置可能引发异常的代码
result = 1 / 0
rescue ZeroDivisionError => e
# 当捕获到ZeroDivisionError异常时,执行这里的代码
puts "发生了除以零的错误:#{e.message}"
else
# 如果没有发生异常,执行这里的代码
puts "计算结果为:#{result}"
ensure
# 无论是否发生异常,都会执行这里的代码
puts "异常处理结束"
end
在这个示例中,我们尝试执行一个除以零的操作,这会引发ZeroDivisionError
异常。通过使用begin
和rescue
关键字,我们可以捕获这个异常并执行相应的处理代码。如果没有发生异常,else
子句中的代码将被执行。无论是否发生异常,ensure
子句中的代码都将被执行。