Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | Exception | backtrace

概要

Exception#backtrace

詳細

Exception#backtraceは例外のバックトレース情報を返却する。

サンプル

コード
# encoding: utf-8

class Hoge
  def hoge(msg)
    Hige.new.hige(msg)
  end
end

class Hige
  def hige(msg)
    raise 'nil error' if msg.nil?
    msg.upcase
  end
end

begin
  p Hoge.new.hoge ("hige")
  Hoge.new.hoge nil
rescue => e
  puts e.backtrace.join("\n")
  puts e.backtrace.size
end
出力
"HIGE"
exception_backtrace.rb:11:in `hige'
exception_backtrace.rb:5:in `hoge'
exception_backtrace.rb:18:in `<main>'
3