javascript 中有六種不同分類的錯誤物件:EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError。不同的瀏覽器,可能會將同一個錯誤,放在不同的分類中。這幾個物件都繼承物件 Error 的特徵與方法。
EvalError | RangeError | ReferenceError | SyntaxError | TypeError | URIError |
new EvalError([訊息])
使用函式 eval() 不當時,系統會拋出此物件實體。
- 網路上有文件說 eval() 不可以間接使用,否則會發生錯誤。這個範例顯示,間接呼用eval() 並不會發生錯誤。
new RangeError([訊息])
呼用函式時,參數的數值超過有效範圍,系統會拋出此物件實體。會發生在建立陣列時;或呼用數值物件的方法 toExponential, toFixed, toPrecision 時。
new ReferenceError([訊息])
使用無效的記憶體位址時,系統會拋出此物件實體。
呼叫未定義的函式。
new SyntaxError([訊息])
解讀 eval() 的源碼時,發現文法錯誤,系統會拋出此物件實體。
new TypeError([訊息])
使用的變數或參數,其型態不符時,系統會拋出此物件實體。
new URIError([訊息])
呼用 encodeURI() or decodeURI() ,所給予的參數,不合 URI 格式,系統會拋出此物件實體。
特徵與方法
上述物件都繼承物件 Error 的特徵與方法。