[ruby-list:46524] Re: set_trace_func中の例外について

From: Masutomi Kazuyuki <rubylite@...>
Date: 2009-11-05 09:47:56 UTC
List: ruby-list #46524
どうやら補足されなかった例外のバックトレース情報を吐いて終了する過程で新
たにtrace_procが呼ばれることでどうにもならなくなっているようなので,常に
以下のようなbegin〜rescueに囲まれているかのように動作してくれればスクリ
プトのバグの早期究明につながって嬉しくないでしょうか。

>cat test.rb
trace_proc = lambda{raise}
set_trace_func lambda{|*arg|
  begin
    trace_proc.call(*arg)
  rescue
    set_trace_func nil
    raise
  end
}
p 0

>ruby -v test.rb
ruby 1.8.7 (2009-06-12 patchlevel 174) [i386-mswin32]
test.rb:1: unhandled exception
        from test.rb:4:in `call'
        from test.rb:4
        from test.rb:10
        from test.rb:10

In This Thread