现在有一个测试代码:
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 除数为零异常
我想得到这个异常的所有堆栈消息。例如:接防执行这个代码的时候是怎么的调用关系。错在哪个文件的哪 个方法里面等!
我应该怎么输出呢?
大家讲道理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