Sha256: eed20fd352d44fe69f6e546bcdf0c558b0b9f1fbc3a947b21fe8f05962c5d483
Contents?: true
Size: 1.41 KB
Versions: 1
Compression:
Stored size: 1.41 KB
Contents
module H8 # The exception that H8 raises on errors that are not caused by executing # javascript (e.g. bad parameters, illegal conversion and so on) class Error < StandardError end # The general error caused by the script execution, e.g. uncaught javascript exceptinos and like. # Check #message to see the cause. class JsError < Error # Javascript Error object. May be nil attr :javascript_error, :origin_name, :origin_line, :origin_column # Error name def name @javascript_error.name ? @javascript_error.name : @message end # String that represents stack trace if any as multiline string (\n separated) def javascript_backtrace if @javascript_error s = @javascript_error.stack if s !~ /at\s+.*\d+/ s += "\n\tat #{@origin_name}:#{@origin_line}:#{@origin_column}\n" end s else @message end end def to_s javascript_backtrace end def message to_s end end # The exception that carries out uncaught ruby exception #ruby_error # therefore it is possible to get javascript backtrace too class NestedError < JsError # The uncaught ruby exception attr :ruby_error end # Script execution is timed out (see H8::Context#eval timeout parameter) class TimeoutError < JsError def initialize message super @message = message @source = nil end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
h8-0.5.0 | lib/h8/errors.rb |