class DEBUGGER__::CatchBreakpoint
Attributes
Public Class Methods
Source
# File bundled-src/debug-1.11.1/lib/debug/breakpoint.rb, line 305 def initialize pat, cond: nil, command: nil, path: nil @pat = pat.freeze @key = [:catch, @pat].freeze @last_exc = nil super(cond, command, path) end
Calls superclass method
DEBUGGER__::Breakpoint::new
Public Instance Methods
Source
# File bundled-src/debug-1.11.1/lib/debug/breakpoint.rb, line 337 def description "#{@last_exc.inspect} is raised." end
Source
# File bundled-src/debug-1.11.1/lib/debug/breakpoint.rb, line 313 def setup @tp = TracePoint.new(:raise){|tp| exc = tp.raised_exception next if SystemExit === exc next if skip_path?(tp.path) next if !safe_eval(tp.binding, @cond) if @cond should_suspend = false exc.class.ancestors.each{|cls| if @pat === cls.name should_suspend = true @last_exc = exc break end } suspend if should_suspend } end
Source
# File bundled-src/debug-1.11.1/lib/debug/breakpoint.rb, line 333 def to_s "#{generate_label("Catch")} #{@pat.inspect}" end