Ruby_语法_begin_rescue_else_end_使用介绍

 

Ruby 语法 begin rescue else end 使用 介绍

 

 

不经过else的例子

begin
  1/0
rescue => e
  puts "in rescue  error is:#{e}"
else
  puts "in else"
end
 

经过else的例子

begin
  1/1
rescue => e
  puts "in rescue  error is:#{e}"
else
  puts "in else"
end

也就是说,预计可能会报错,如果没有报错,就会走else的语句

 

使用的地方:报错和不报错 都会做某些类似事情的时候

上面的例子不是很贴切,没有体现else的用法,可以把esle去掉。

看一个ruby源码的例子:

      x = Thread.current
      y = Thread.start {
        begin
          sleep sec
        rescue => e
          x.raise e
        else
          x.raise exception, "execution expired" if x.alive?
        end
      }
      yield sec

这里,waiting的时候,如果没有报错,也即是说没有异常的程序,表示时间到了,也要报错。

这样用的地方,就很合乎常理了。

 

。。。结束了。。。 END  EOF 

 

(
(
(

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值