class PIM::ExecutionTimeoutError

Raised by the execution-deadline watchdog when a JRuby execute exceeds its wall-clock budget. frame is the {ExecutionGuard::Frame} whose limit expired: while a nested frame is on top, the limit of an enclosing frame (e.g. the script’s own deadline) can expire as well.

Attributes

deadline_seconds[R]
frame[R]

Public Class Methods

new(message = nil, deadline_seconds: nil, frame: nil) click to toggle source
Calls superclass method
# File pim.rb, line 688
def initialize message = nil, deadline_seconds: nil, frame: nil
  super(message)
  @deadline_seconds = deadline_seconds
  @frame = frame
end

Public Instance Methods

innermost?() click to toggle source

Whether the limit that expired is the one of the innermost guarded scope, i.e. of the frame on top now, and not one of a frame that scope runs in (e.g. the script’s own deadline). An error without a frame counts as the innermost one.

# File pim.rb, line 698
def innermost?
  frame.nil? || frame.top?
end