2014-04-16 25 views
1

我一直想知道是否有一種方法來改善嘗試使用不存在的函數(或不是函數)時獲得的錯誤消息。例如:JavaScript:是否可以獲取未定義函數的嘗試名稱?

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

我希望能夠記錄是這樣的:

document.iDontExist is not a function 

只是爲了節省幾秒鐘。我意識到我有行號等,我只是想知道這是否可能。 我可以使用TypeError來查找嘗試的名字嗎?

回答

1

否 - 不一般。

JavaScript不會「發送消息」來調用函數,任何表達式構造都可以應用()運算符。瀏覽器引擎都不會嘗試「讀入」表達式來報告更有用的消息。

調試器(帶有異常中斷)可能很有用,但否則不會 - 異常將保持一般,無需人工干預。

0

不幸的是沒有,但如果這是你的一個選項,它可以工作...

與其說document.iDontExist()的,請嘗試:

(document.iDontExist || logError("iDontExist undefined")) && document.iDontExist(); 

這種濫用邏輯運算符將只能調用如果函數它存在,並記錄錯誤(假設存在logError!)否則。

相關問題