使用错误对象相关性在Javascript中抛出错误

时间:2009-10-15 11:41:36

标签: javascript error-handling throw

这几乎与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 个答案:

答案 0 :(得分:2)

您实际需要的是错误的堆栈跟踪。没有标准,但大多数浏览器确实提供了一些发现方法。快速搜索会出现这个js stack trace示例。

答案 1 :(得分:2)

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

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