Throwing errors in Javascript with error object relevancy

笑着哭i 提交于 2019-12-21 17:18:31

问题


This is pretty much IE related because IE is the environment I'm using to test this, but I want to know if you can affect the relevancy of the error object properties when you throw an error. Consider the following 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
}

Further down your code you have

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

So the above would throw an error, but the error reported in the debugging information would show the error being thrown at line 9 of my.js instead of line 3201. Is this something you can change using standard methods?


回答1:


What you are actually looking for is a stack trace for the error. There are no standards for this but most browsers do provide some means of discovery. Doing a quick search comes up with this js stack trace example.




回答2:


In firefox you can use the stack property when you catch the error. In other browsers you can use the message property.

Have a look at this link on how to catch the stacktrace.



来源:https://stackoverflow.com/questions/1571856/throwing-errors-in-javascript-with-error-object-relevancy

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!