Sha256: 04e11666e8cb039d78a1dad4e9c1d3b77761b045c8793af68188ee9206f35c55

Contents?: true

Size: 1010 Bytes

Versions: 8

Compression:

Stored size: 1010 Bytes

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

    # 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
      @javascript_error ? @javascript_error.stack : @message
    end

    def to_s
      javascript_backtrace
    end

    def message
      to_s
    end
  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

8 entries across 8 versions & 1 rubygems

Version Path
h8-0.4.10 lib/h8/errors.rb
h8-0.4.8 lib/h8/errors.rb
h8-0.4.5 lib/h8/errors.rb
h8-0.4.0 lib/h8/errors.rb
h8-0.3.0 lib/h8/errors.rb
h8-0.2.5 lib/h8/errors.rb
h8-0.2.4 lib/h8/errors.rb
h8-0.2.3 lib/h8/errors.rb