在Ruby中,异常处理主要使用begin
、rescue
、else
和ensure
关键字。下面是一个简单的示例:
begin # 这里放置可能引发异常的代码 result = 1 / 0 rescue ZeroDivisionError => e # 当捕获到ZeroDivisionError异常时,执行这里的代码 puts "发生了除以零的错误:#{e.message}" else # 如果没有发生异常,执行这里的代码 puts "计算结果为:#{result}" ensure # 无论是否发生异常,都会执行这里的代码 puts "异常处理结束" end
在这个示例中,我们尝试执行一个除以零的操作,这会引发ZeroDivisionError
异常。通过使用begin
和rescue
关键字,我们可以捕获这个异常并执行相应的处理代码。如果没有发生异常,else
子句中的代码将被执行。无论是否发生异常,ensure
子句中的代码都将被执行。