代码之家  ›  专栏  ›  技术社区  ›  Andy E

在具有错误对象相关性的javascript中引发错误

  •  5
  • Andy E  · 技术社区  · 15 年前

    这是相当IE相关的,因为IE是我用来测试的环境,但我想知道,当您抛出错误时,是否可以影响错误对象属性的相关性。考虑以下javascript:

    function MyClass (Arg1, Arg2)    // Line 5 of my.js
    {
        if (typeof Arg1 != "string")
            throw new Error("Invalid argument passed for MyClass");
        // Do some other stuff here
    }
    

    再往下写你的代码

    var myvar = new MyClass(100, "Hello");    // Line 3201 of my.js
    

    所以上面会抛出一个错误,但是调试信息中报告的错误会显示错误被抛出到my.js的第9行,而不是第3201行。这是可以用标准方法改变的吗?

    2 回复  |  直到 10 年前
        1
  •  2
  •   Alexis Wilke    10 年前

    您实际上要查找的是错误的堆栈跟踪。目前还没有这方面的标准,但大多数浏览器确实提供了一些发现方法。快速搜索就会找到这个 js stack trace 例子。

        2
  •  2
  •   Marius    15 年前

    在Firefox中,您可以在捕获错误时使用Stack属性。在其他浏览器中,您可以使用消息属性。

    查看此链接,了解如何捕获 stacktrace .