Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:是否可以获取未定义函数的尝试名称?_Javascript_Error Handling - Fatal编程技术网

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

JavaScript:是否可以获取未定义函数的尝试名称?,javascript,error-handling,Javascript,Error Handling,我一直在想,当试图使用一个不存在(或不是函数)的函数时,是否有办法改善错误消息。例如: document.iDontExist() TypeError: undefined is not a function 我希望能够记录以下内容: document.iDontExist is not a function 只是为了节省几秒钟。我意识到我有行号等,我只是想知道这是否可能。 是否有TypeError的某些属性可用于查找尝试使用的名称?不幸的是,没有,但如果这是您的一个选项,它可以工作 请尝试

我一直在想,当试图使用一个不存在(或不是函数)的函数时,是否有办法改善错误消息。例如:

document.iDontExist()
TypeError: undefined is not a function
我希望能够记录以下内容:

document.iDontExist is not a function
只是为了节省几秒钟。我意识到我有行号等,我只是想知道这是否可能。
是否有
TypeError
的某些属性可用于查找尝试使用的名称?

不幸的是,没有,但如果这是您的一个选项,它可以工作

请尝试以下操作,而不是调用
document.iDontExist()

(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist();
这会滥用逻辑运算符,仅在函数存在时调用该函数,否则会记录错误(假设存在
logError

JavaScript不会“发送消息”来调用函数,任何表达式构造都可以应用
()
运算符。。没有浏览器引擎尝试“读入”表达式以报告更有用的消息

调试器(带有中断异常)可能很有用,但在其他情况下不会-异常将保持常规,无需手动干预