在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>' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |