raise
例外をrescueできたので、今度はraiseしてみる。ただraiseするだけじゃつまんないので、自分でrescueして更にraise。
begin raise SyntaxError.new("test exception") rescue SyntaxError => evar begin raise SyntaxError.new(evar.message + " re-raised") rescue SyntaxError => evar2 p evar2.backtrace raise end end
実行したらこんな出力でした。
["test.rb:5"] test.rb:5: test exception re-raised (SyntaxError)
上の行が p evar2.backtrace で出している部分で、下の行が勝手に出る部分らしい。backtraceはJavaのprintStackTraceみたいなものかと思ったんだけど違うのかな?よくわかんない。