在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
代码块都会被执行。