javascript錯誤類型有:1、Error;2、InternalError;3、EvalError;4、RangeError;5、ReferenceError;6、SyntaxError;7、TypeError;8、URIError。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
ECMS中定義了以下八種錯誤類型,並在錯誤發生時拋出不同的錯誤物件。
Error
#InternalError
EvalError
RangeError
ReferenceError
SyntaxError
#TypeError
##URIError
Error是基底類型,其他錯誤類型都是繼承該類型,因此,所有錯誤類型都是共享相同的屬性(所有錯誤物件上的方法都是這個預設類型定義的方法)。
瀏覽器很少會拋出Error類型的錯誤
,該類型主要用於開發者拋出自訂錯誤。
#InternalError類型的錯誤會在底層
JavaScript引擎拋出例外時由瀏覽器拋出。例如,遞歸過多導致了棧溢位。這類型並不是程式碼中通常要處理的錯誤,
如果真的發生了這種錯誤,很可能程式碼哪裡弄錯了或有危險。
EvalError型別錯誤會在使用eval()函數發生異常時拋出。 ECMA-262規定,'如果
eval屬性沒有被直接呼叫(就是沒有將其名稱作為一個
Identifier(標識符),也就是
CallExpression中的
MemberExpression)。
eval()當成函數呼叫就會報錯。
不同瀏覽器拋出的錯誤會有差異,但很少會這麼使用,所以平常不常見
四、RangeErrorRangeError會在數值越界時拋出。例如,定義數組時如果設定了不支援的長度,如-20。又或者沒有給遞歸設定停止條件時觸發。
該類型在JavaScript發生不多
ReferenceError會在找不到物件時發生。 (就是著名的"object expected"瀏覽器錯誤的原因)。這種錯誤經常是由存取不存在的變數而導致。
JavaScript語法錯誤時發生,在eval()外部
很少會用到該型別錯誤。這是因為JavaScript程式碼中的語法錯誤會導致程式碼無法執行。
TypeError在
JavaScript中很常見
,主要發生變數不是預期類型,或是存取不存在的方法時等原因導致,尤其是在使用類型特定的操作而變數類型不對時。
在給函數傳參前沒有驗證的情況下,錯誤頻繁發生
#八、URIErrorURIError只會在使用encodeURL()或decodeURL()但傳入了格式錯誤的URL時發生,但非常罕見,因為上面兩個函數非常穩健。
javascript高階教學】#
以上是javascript有哪些錯誤類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!