Ruby 错误处理主要使用 begin
、rescue
、ensure
和 raise
语句
begin
:用于开始一个可能引发异常的代码块。rescue
:用于捕获并处理特定类型的异常。可以指定多个异常类型,按顺序捕获。ensure
:用于指定在任何情况下都会执行的代码块,通常用于资源清理,如关闭文件、释放内存等。raise
:用于手动引发异常。可以引发内置异常或自定义异常。以下是一个简单的 Ruby 错误处理示例:
begin
# 可能引发异常的代码
result = 10 / 0
rescue ZeroDivisionError => e
# 处理 ZeroDivisionError 异常
puts "发生了除以零的错误:#{e.message}"
ensure
# 无论是否发生异常都会执行的代码
puts "错误处理示例结束"
end
在这个示例中,我们尝试执行一个除以零的操作,这会引发 ZeroDivisionError
异常。我们使用 rescue
捕获该异常并处理它,然后使用 ensure
确保在任何情况下都会执行某些操作。