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:
parent
222053b901
commit
48d6e04e17
4 changed files with 20 additions and 21 deletions
|
@ -11,4 +11,5 @@ module V8
|
|||
require 'v8/function'
|
||||
require 'v8/tap'
|
||||
require 'v8/access'
|
||||
require 'v8/error'
|
||||
end
|
|
@ -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
16
lib/v8/error.rb
Normal 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
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue