首页  >  问答  >  正文

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

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

PHP中文网PHP中文网2762 天前1094

全部回复(1)我来回复

  • 大家讲道理

    大家讲道理2017-04-21 10:58:14

    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

    回复
    0
  • 取消回复