我想知道你們中的任何人是否嘗試過使用JavaScript的異常處理機制來捕獲RangeError,ReferenceError和TypeError等錯誤?我們如何在JavaScript中引發並捕獲RangeError,ReferenceError,TypeError?
例如,對於引發RangeError:
try {
var anArray = new Array(-1);
// an array length must be positive
throw new RangeError("must be positive!")
}
catch (error) {
alert(error.message);
alert(error.name);
}
finally {
alert("ok, all is done!");
}
在上述情況下,我是拋出一個新的RangeError對象?
因爲我的代碼示例在警報(error.message)不顯示用戶定義的消息「必須是正面的」。
我該怎麼做才能拋出我自己的RangeError對象(和ReferenceError,TypeError)?
最好。
https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/TypeError – DjangoRocks 2010-07-24 15:49:15
只是在這一點上,我必須糾正你:'new Array(-1)'是無效的。雖然你正確地指出索引不必是肯定的,但Array的構造函數的第一個參數是在創建之後數組中的元素的數量(所有默認爲undefined)並且默認爲零。顯然你不能創建一個數組少於0的數組。 (在JavaScript數組中不使用負指數也不會調整'length'屬性,因爲它指示已經使用的最高正指數,這就是爲什麼它在大多數情況下是合理的,因此不允許它們) – 2016-05-21 05:30:39