在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
子句都会被执行。
你可以根据需要调整异常类型和处理代码,以便更好地处理特定的异常情况。