在Ruby中处理异常情况通常使用begin
、rescue
、else
和ensure
这四个关键字。下面是一个简单的示例,展示了如何使用这些关键字处理异常:
begin
# 这里放置可能引发异常的代码
result = risky_operation
rescue SomeExceptionType => e
# 当异常类型与SomeExceptionType匹配时,执行此处的代码
puts "捕获到异常:#{e.message}"
rescue ExceptionType => e
# 当捕获到其他类型的异常时,执行此处的代码
puts "捕获到未知异常:#{e.message}"
else
# 如果没有发生异常,执行此处的代码
puts "操作成功,结果为:#{result}"
ensure
# 无论是否发生异常,都会执行此处的代码
puts "异常处理结束"
end
在这个示例中,我们首先使用begin
关键字开始一个可能引发异常的代码块。接着,我们使用rescue
关键字捕获特定类型的异常(如SomeExceptionType
)和所有其他类型的异常(使用Exception
作为基类)。如果没有发生异常,else
子句将被执行。无论是否发生异常,ensure
子句都会被执行。
你可以根据需要调整异常类型和处理代码,以便更好地处理特定的异常情况。