首頁  >  問答  >  主體

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中文网2712 天前1056

全部回覆(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
  • 取消回覆