设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

关于eval和rescue的问题

查看数: 1579 | 评论数: 3 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2014-1-5 17:30

正文摘要:

本帖最后由 taroxd 于 2014-1-5 19:12 编辑 RUBY 代码复制class Test  def test    eval(gets)  rescue    puts $!  endend ...

回复

rmav 发表于 2014-1-5 18:53:56
rescue Exception

点评

异常不是那样用的- -!  发表于 2014-1-5 19:14
好吧,果然可以…… 但是定义时候的异常貌似仍然没办法捕获……  发表于 2014-1-5 19:05
你不带参数,只是捕捉StandardError异常  发表于 2014-1-5 19:03
问题是解决了,能否解释一下原理?  发表于 2014-1-5 18:59

评分

参与人数 1梦石 +1 收起 理由
迷糊的安安 + 1 问题是解决了

查看全部评分

无脑之人 发表于 2014-1-5 20:06:58
rescue不加参数只能捕捉StandardError,当然你用Exception甚至Object【......】就能捕获所有异常
至于某些捕获不到SyntaxError的情况,那是因为那还没轮到rescue运行
mxymxy 发表于 2014-1-5 18:41:41
补充一句:
  1.     class Test
  2.       def test
  3.         <
  4.       rescue
  5.         puts $!
  6.       end
  7.     end
  8.      
  9.     a = Test.new.test
复制代码
也一样没法捕获异常。
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 03:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表