查看: 3143|回复: 2

[已经解决] 腳本問題 有關獲取Backtrace

[复制链接]
梦石
0
星屑
50
在线时间
62 小时
注册时间
2011-1-28
回帖
24
发表于 2013-7-12 16:46:32 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 nokaiwai 于 2013-7-13 15:11 编辑

隨便舉一個例子好了
例如運行以下腳本時

[pre lang="ruby" line="1"]def add4(num)
  unless num.is_a?(Numeric)
    p error = ArgumentError.new("...")   #=> #<ArgumentError: ...>
    p error.backtrace                    #=> nil
  end
  begin
    num + 4
  ensure
  p $!                                   #=> #<TypeError: can't convert Fixnum into String>
  p $@                                   #=> ["{0000}:7:in '+'", "{0000}:7:in 'add4'", "{0000}:15:in '<main>'", "ruby:in 'eval'"]
  p error.set_backtrace($@[2])           #=> ["{0000}:15:in '<main>'"]
  raise error                            #=> Script '' line 15: ArgumentError occurred.\n...
  end
end
add4("a")[/pre]

請問如何在第4行時獲取需要的 backtrace  ("{0000}:15:in '<main>'") 呢?  謝謝

自己發現答案了
大概就是加上 rescue => error
http://www.ruby-doc.org/core-1.9.3/Exception.html
梦石
0
星屑
50
在线时间
128 小时
注册时间
2013-3-23
回帖
64
发表于 2013-7-12 16:50:57 | 显示全部楼层
如果LZ你使用的是VA,那么,test2的p应该为msgbox,
如果LZ不是用VA,那么,旁边就是VX和XP的提问区。
PS:LZ问题看不懂。。。{:2_276:}
.
回复

使用道具 举报

梦石
0
星屑
50
在线时间
62 小时
注册时间
2011-1-28
回帖
24
 楼主| 发表于 2013-7-12 17:03:28 | 显示全部楼层
VA 也可以用 P 啊 0.0
又不一定要以視窗形式顯示

再說 它只是例子
P 和 MSGBOX 的什麼都好啦
難道還要吐槽說 「為什麼要 ADD4 ,加一或者減一不好嗎??」
反正這些都不重要 ~.~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部