Ruby else语句

在 Ruby 中,如果提供了 else 子句,它一般是放置在 rescue 子句之后,任意 ensure 之前。else 子句的主体只有在代码主体没有抛出异常时执行。

Ruby else语句详解

语法

begin #.. 过程 #.. 抛出异常 rescue #.. 处理错误 else #.. 如果没有异常则执行 ensure #.. 最后确保执行 #.. 这总是会执行 end

说明

else 子句的主体只有在代码主体没有抛出异常时执行。

案例

else语句使用

没有抛出异常的时候执行 else 语句

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" begin # 抛出 'A test exception.' puts "I'm not raising exception" rescue Exception => e puts e.message puts e.backtrace.inspect else puts "Congratulations-- no errors!" ensure puts "Ensuring execution" end

运行后,输出如下:

06_Ruby else语句.png

使用 $! 变量可以捕获抛出的错误消息。

Ruby else语句总结

在 Ruby 中,如果提供了 else 子句,它一般是放置在 rescue 子句之后,任意 ensure 之前。else 子句的主体只有在代码主体没有抛出异常时执行。