JavaScript:是否可以获取未定义函数的尝试名称?

时间:2014-04-16 09:58:59

标签: javascript error-handling

我一直想知道是否有一种方法可以改善在尝试使用不存在的功能(或者不是功能)时所获得的错误信息。例如:

document.iDontExist()
TypeError: undefined is not a function

我希望能够记录以下内容:

document.iDontExist is not a function

只需保存几秒钟。我意识到我有行号等,我只是想知道这是否可行。 是否有TypeError的某些属性可用于查找尝试的名称?

2 个答案:

答案 0 :(得分:1)

不 - 一般不会。

JavaScript没有"发送消息"调用函数和任何表达式构造都可以应用()运算符..没有一个浏览器引擎尝试"读入"用于报告更有用信息的表达式。

调试器(具有break-on-exception)可能很有用,但是否则没有 - 如果没有人工干预,异常将保持一般。

答案 1 :(得分:0)

不幸的是没有,但如果这是你的选择,它可以工作......

请尝试:

,而不是调用document.iDontExist()
(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist();

这会滥用逻辑运算符,只调用该函数(如果存在),并记录错误(假设logError存在!)否则。