代码之家  ›  专栏  ›  技术社区  ›  Jonathan Morgan

使用nsIScriptContext或SpiderMonkey API在XULRunner中查找并报告Javascript编译错误

  •  1
  • Jonathan Morgan  · 技术社区  · 14 年前

    https://github.com/jonmmorgan/wxwebconnect/ . 它提供了一种方法

    wxString wxWebControl::ExecuteScriptWithResult(const wxString& js_code)
    

    它使用nsIScriptContext::EvaluateStringWithValue执行Javascript字符串,将该值转换为JS_value to string字符串,然后返回该字符串。

    跟随 http://chadaustin.me/2009/02/evaluating-javascript-in-an-embedded-xulrunnergecko-window/

    有没有其他好方法可以从nsIScriptContext或SpiderMonkey API获取编译或执行错误?你知道为什么JS-GetPendingException没有这么做吗?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Jonathan Morgan    14 年前

    我找到了答案: 在nsJSContext中,它注册了一个错误报告函数。作为错误报告函数的一部分,它清除挂起的异常。如果您注册了自己的错误报告器,它会覆盖它并允许您实际处理错误。这意味着错误不会出现在错误控制台中。我不知道重写内置错误处理程序是否会丢失任何其他重要功能。