我正在使用go語言進行項目。我需要運行一段js代碼。我知道有一個包是奧托。我的問題是,我如何得到js代碼的詳細錯誤信息。例如:如何編譯golang中的javascript代碼並獲取詳細錯誤
src :=`
abc = 2 +
console.log("The value of abc is " + abc)
`
當我做某事比如說compile(src)
。
然後我會得到這樣的錯誤: 在第二行錯過了一些東西,錯過';'在第三線。
就像編譯器一樣
我已經嘗試使用otto編譯之前,我發佈的問題,返回的錯誤是零。 使用奧托func (self Otto) Run(src interface{}) (Value, error)
上面的代碼將返回錯誤,但如果代碼成爲
abc = 9
abc = 2 +
console.log("The value of abc is " + abc)
兩個func (self Otto) Run(src interface{}) (Value, error)
和func (self *Otto) Compile(filename string, src interface{}) (*Script, error)
錯誤是零
的你的例子都不是在JavaScript錯誤。分號在JS中不是必需的。你的例子實際上增加了2 + console.log的結果。 –
我敢打賭,在運行期間你的錯誤是「abc沒有定義」,因爲你在設置之前試圖在console.log調用中使用abc。不是語法錯誤,因爲您可能已經以其他方式定義了它。 –