Issue #9295 has been updated by sawa (Tsuyoshi Sawada).


Thank you for the quick action, but the problem still remains in ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]. It still returns `nil`.

----------------------------------------
Bug #9295: `Exception#backtrace_locations` returns `nil`
https://bugs.ruby-lang.org/issues/9295#change-43906

Author: sawa (Tsuyoshi Sawada)
Status: Closed
Priority: High
Assignee: 
Category: 
Target version: 
ruby -v: 2.1
Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN


=begin
If I raise an `ArgumentError` by calling a method with wrong number of arguments, `Exception#backtrace_locations` returns `nil`, which I think is a bug:

    def foo; end

    begin
      foo(:bar)
    rescue => e
      p e.backtrace_locations
    end
    # => nil

If, instead, I raise an error manually, then it returns an array as expected:

    begin
      raise ArgumentError.new
    rescue => e
      p e.backtrace_locations
    end
    # => ["this_file:2:in `<main>'"]

=end


-- 
http://bugs.ruby-lang.org/