diff --git a/lib/better_errors/raised_exception.rb b/lib/better_errors/raised_exception.rb index f3ee36ae..02683c10 100644 --- a/lib/better_errors/raised_exception.rb +++ b/lib/better_errors/raised_exception.rb @@ -36,8 +36,13 @@ def setup_backtrace def setup_backtrace_from_bindings @backtrace = exception.__better_errors_bindings_stack.map { |binding| - file = binding.eval "__FILE__" - line = binding.eval "__LINE__" + if binding.respond_to?(:source_location) # Ruby >= 2.6 + file = binding.source_location[0] + line = binding.source_location[1] + else + file = binding.eval "__FILE__" + line = binding.eval "__LINE__" + end name = binding.frame_description StackFrame.new(file, line, name, binding) }