在Ruby中,异常处理是通过begin
、rescue
、else
和ensure
关键字实现的。这些关键字允许你捕获和处理在程序执行过程中可能发生的异常。下面是一个简单的示例,展示了如何使用这些关键字进行异常处理:
begin
# 尝试执行的代码块
result = 10 / 0
rescue ZeroDivisionError => e
# 当捕获到特定异常时执行的代码块
puts "发生了除以零的错误: #{e.message}"
else
# 如果没有异常发生,执行此代码块
puts "结果是: #{result}"
ensure
# 无论是否发生异常,都会执行此代码块
puts "异常处理结束"
end
在这个示例中,我们尝试执行一个除以零的操作,这会引发一个ZeroDivisionError
异常。我们使用rescue
关键字捕获这个异常,并在rescue
代码块中处理它。如果没有异常发生,else
代码块将被执行。无论是否发生异常,ensure
代码块都会被执行。