您好,匿名用户
随意问技术百科期待您的加入

ruby 怎么打印输出 异常信息的详细消息?

0 投票

现在有一个测试代码:
def study_ruby_exception arg_1
begin
puts 10/arg_1
rescue Exception => e
puts e.message
end
end
study_ruby_exception 0
当我运行的时候会打印输出:divided by 0 除数为零异常
我想得到这个异常的所有堆栈消息。例如:接防执行这个代码的时候是怎么的调用关系。错在哪个文件的哪 个方法里面等!
我应该怎么输出呢?

用户头像 提问 2012年 12月1日 @ Talon 上等兵 (294 威望)
分享到:

1个回答

0 投票

Exception 类有一个 backtrace 方法会返回一个包含堆栈的 array ...

参考代码 ...

def study_ruby_exception arg_1
    begin
        puts 10/arg_1
    rescue Exception => e
        puts e.backtrace
    end
end

study_ruby_exception 0

顺便多说两句 ... rescue 其实不一定要和 begin 一起出现 ...

你的那个例子其实可以写成这样 ...

def study_ruby_exception arg_1
    puts 10/arg_1
rescue Exception => e
    puts e.backtrace
end

study_ruby_exception 0
用户头像 回复 2012年 12月1日 @ Aquarius 上等兵 (283 威望)
提一个问题:

相关问题

0 投票
1 回复 37 阅读
0 投票
1 回复 33 阅读
0 投票
1 回复 38 阅读
0 投票
1 回复 45 阅读
用户头像 提问 2012年 12月1日 @ 卫宫士郎 上等兵 (173 威望)
0 投票
1 回复 34 阅读
用户头像 提问 2012年 12月1日 @ Corki 上等兵 (263 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...