加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Ruby中有哪些catch和throw有用?

发布时间:2020-12-16 22:10:23 所属栏目:百科 来源:网络整理
导读:我真的没有看到这些的理智用途.已经有救援和提高了,所以为什么需要扔和抓?似乎他们应该被用来跳出深层次的嵌套,但是这只是闻起来像一个goto给我.有没有这些好的,干净使用的例子? 解决方法 注意:在1.9中,catch / throw看起来有些改变了.这个答案适用于 Rub
我真的没有看到这些的理智用途.已经有救援和提高了,所以为什么需要扔和抓?似乎他们应该被用来跳出深层次的嵌套,但是这只是闻起来像一个goto给我.有没有这些好的,干净使用的例子?

解决方法

注意:在1.9中,catch / throw看起来有些改变了.这个答案适用于 Ruby 1.9.

一个很大的区别是,你可以抛出任何东西,而不仅仅是派生自StandardError的东西,而不像加注.像这样愚蠢的事情是合法的,例如:

throw Customer.new

但这不是非常有意义的.但你不能做:

irb(main):003:0> raise Customer.new
TypeError: exception class/object expected
    from (irb):3:in `raise'
    from (irb):3
    from /usr/local/bin/irb:12:in `<main>'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读