2017-09-05 10 views
-2

私はプロジェクトにgo言語を使用しています。私はjsコードを実行する必要があります。私はおとぎ話のパッケージがあることを知っています。私の問題は、どのように私は、jsコードの詳細エラーメッセージを取得することです。たとえば、golangでjavascriptコードをコンパイルして詳細エラーを取得するには

src :=` 
     abc = 2 + 
     console.log("The value of abc is " + abc) 
` 

と入力して、何かを入力すると、compile(src)と表示されます。
それから、私は次のエラーを受け取ります: 2行目に何かがありません。 3行目。
コンパイラと同じように

私はすでに問題を投稿する前にottoのコンパイルを試していますが、返されるエラーはnilです。 上記のコードのためのオットーのfunc (self Otto) Run(src interface{}) (Value, error)を使用すると、エラーが返されますが、コードはfunc (self Otto) Run(src interface{}) (Value, error)func (self *Otto) Compile(filename string, src interface{}) (*Script, error)エラーの両方のための

abc = 9 
abc = 2 + 
console.log("The value of abc is " + abc) 

になった場合は、私はあなたが不十分な研究のための丁に行くよ

+0

なしには、JavaScriptのエラーではありません。 JSではセミコロンは必要ありません。あなたの例は実際には2 + console.logの結果を追加します。 –

+0

設定する前にconsole.log呼び出しでabcを使用しようとしたため、実行中に「abcが定義されていません」というエラーが表示されることがあります。別の方法で定義した可能性があるため、構文エラーではありません。 –

答えて

1

nilをしています。 "golang otto"のシンプルなGoogleは、the Github page.を提出しました。それを読んで。

次に、あなたがオットーは恋愛小説家である

func (self *Otto) Compile(filename string, src interface{}) (*Script, error) 

を持っていることを知ります。それを実行して、返されたエラー値を取得します。あなたの例の

Also from the documentation:

type Error struct { 
} 

An Error represents a runtime error, e.g. a TypeError, a ReferenceError, etc. 

func (err Error) Error() string 

Error returns a description of the error 

func (err Error) String() string 

String returns a description of the error and a trace of where the error occurred. 
+0

ありがとうございました。しかし、私はあなたが私に答えを与える前に、あなたが言ったことを試していないと思う。 func(self * Otto)Compile(filename string、src interface {})(* Script、error)を使って、問題を投稿する前に試してみました。エラーはゼロです。 – NHa

関連する問題