1
0
Fork 0
mirror of https://github.com/rubyjs/therubyracer synced 2023-03-27 23:21:42 -04:00

renamed js error into something more manageable

This commit is contained in:
Charles Lowell 2010-06-11 17:11:49 +03:00
parent 222053b901
commit 48d6e04e17
4 changed files with 20 additions and 21 deletions

View file

@ -11,4 +11,5 @@ module V8
require 'v8/function'
require 'v8/tap'
require 'v8/access'
require 'v8/error'
end

View file

@ -22,11 +22,11 @@ module V8
@native.enter do
script = C::Script::Compile(To.v8(javascript.to_s), To.v8(filename.to_s))
if try.HasCaught()
err = JavascriptError.new(try)
err = JSError.new(try)
else
result = script.Run()
if try.HasCaught()
err = JavascriptError.new(try)
err = JSError.new(try)
else
value = To.rb(result)
end
@ -63,25 +63,7 @@ module V8
V8::Context.eval(*args)
end
end
class JavascriptError < StandardError
attr_reader :source_name, :source_line, :line_number, :javascript_stacktrace
def initialize(try)
msg = try.Message()
@source_name = To.rb(msg.GetScriptResourceName())
@source_line = To.rb(msg.GetSourceLine())
@line_number = To.rb(msg.GetLineNumber())
@javascript_stacktrace = To.rb(try.StackTrace())
super("#{To.rb(msg.Get())}: #{@source_name}:#{@line_number}")
end
def self.check(try)
raise JavascriptError.new(try) if try.HasCaught()
end
end
module C
class Context
def enter

16
lib/v8/error.rb Normal file
View file

@ -0,0 +1,16 @@
module V8
class JSError < StandardError
attr_reader :source_name, :source_line, :line_number, :javascript_stacktrace
def initialize(try)
msg = try.Message()
@source_name = To.rb(msg.GetScriptResourceName())
@source_line = To.rb(msg.GetSourceLine())
@line_number = To.rb(msg.GetLineNumber())
@javascript_stacktrace = To.rb(try.StackTrace())
super("#{To.rb(msg.Get())}: #{@source_name}:#{@line_number}")
end
end
end

View file

@ -8,7 +8,7 @@ module V8
@context.enter do
this = To.v8(thisObject)
return_value = To.rb(@native.Call(this, To.v8(args)))
err = JavascriptError.new(try) if try.HasCaught()
err = JSError.new(try) if try.HasCaught()
end
end
raise err if err