现在有一个测试代码:
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