Back

为 动态执行的ruby 代码加上 调试功能。

发布时间: 2016-06-19 09:06:00

一个项目,用到了很多元编程,eval.  

遗憾的是,很多时候,出了问题不知道从何着手。 

在ruby中,可以在某个block里面加上 begin...rescue...end 来显示某个block中出错的行数。例如: 

(留意下面的 begin ... rescue ...end ) 

Ruby Begin Rescue

然后,就可以在后台看到打印出来的内容了:

17:05:20 ERROR: can't convert String into Integer 
17:05:20 ERROR: (eval):18:in `[]'   
(eval):18:in `block in start'
(eval):18:in `map'
(eval):18:in `start'
/workspace/youku_bd_automation/lib/fetcher.rb:19:in `eval'

上面的 (eval): 18: 这里表示的,就是,这个被eval 字符串的第18行。

Back