class Exception
Public Instance Methods
bindings()
click to toggle source
The bindings in which the exception originated in.
# File lib/web_console/integration/cruby.rb, line 9 def bindings @bindings || __better_errors_bindings_stack end
set_backtrace_with_binding_of_caller(*args)
click to toggle source
CRuby calls set_backtrace every time it raises an exception. Overriding it to assign the bindings.
# File lib/web_console/integration/cruby.rb, line 20 def set_backtrace_with_binding_of_caller(*args) # Thanks to @charliesome who wrote this bit for better_errors. unless Thread.current[:__web_console_exception_lock] Thread.current[:__web_console_exception_lock] = true begin # Raising an exception here will cause all of the rubies to go into a # stack overflow. Some rubies may even segfault. See # https://bugs.ruby-lang.org/issues/10164 for details. @bindings = binding.callers.drop(1) ensure Thread.current[:__web_console_exception_lock] = false end end set_backtrace_without_binding_of_caller(*args) end