class Exception - web-console-2.1.2 Documentation

# 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