lib/h8/errors.rb in h8-0.4.10 vs lib/h8/errors.rb in h8-0.4.11
- old
+ new
@@ -8,20 +8,28 @@
# 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
+ 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
- @javascript_error ? @javascript_error.stack : @message
+ 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
@@ -34,10 +42,10 @@
# Script execution is timed out (see H8::Context#eval timeout parameter)
class TimeoutError < JsError
def initialize message
super
@message = message
- @source = nil
+ @source = nil
end
end
end