javascript 系統(tǒng)常見拋錯

主要有以下6種:

  1. EvalError: raised when an error occurs executing code in eval()
    (在使用eval方法出現(xiàn)異常時才會報此錯誤)
  2. RangeError: raised when a numeric variable or parameter is outside of its valid range
    (當(dāng)數(shù)字變量或者參數(shù)超出了它的有效范圍時報錯)
  3. ReferenceError: raised when de-referencing an invalid reference
    (引入錯誤:進行引入操作時出現(xiàn)無效引入)
  4. SyntaxError: raised when a syntax error occurs while parsing code in eval()
    (語法錯誤:)
  5. TypeError: raised when a variable or parameter is not a valid type
    (類型錯誤:當(dāng)一個變量或參數(shù)是非法類型時)
  6. URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
    (使用encodeURI和decodeURI方法處理非法參數(shù)時報錯)

以上六中異常對象都繼承自Error對象

Error具有下面一些主要屬性:

  1. description: 錯誤描述 (僅IE可用).
  2. fileName: 出錯的文件名 (僅Mozilla可用).
  3. lineNumber: 出錯的行數(shù) (僅Mozilla可用).
  4. message: 錯誤信息 (在IE下同description)
  5. name: 錯誤類型.
  6. number: 錯誤代碼 (僅IE可用).
  7. stack: 像Java中的Stack Trace一樣的錯誤堆棧信息 (僅Mozilla可用).

手動拋錯

<pre>try{
throw new Error('出錯了!')
}catch(e){
console.log(e.name + ' : '+ e.message)
}
//JavaScript中的throw命令事實上可以拋出任何對象,并且我們可以在catch接受到此對象。例如:
try {
throw new Date(); // 拋出當(dāng)前時間對象
} catch (e) {
alert(e.toLocaleString()); // 使用本地格式顯示當(dāng)前時間
}
</pre>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容