javascript Error 對象 錯誤處理

來源:互聯網
上載者:User

Error對象

Property:
name: 錯誤名
number: 錯誤號碼
description: 描述
message: 錯誤資訊,多同description
FF Only 屬性
fileName: 錯誤發生的檔案
stack: 錯誤發生時的呼叫堆疊

Constructor:
Error(){
this(0,"")}

Error(description){
this(0,description)}

Error(number,description){
....}

建構函式參數不帶name,是因為Error對象的name對應於它的來源:
EvalError: 錯誤發生在eval()中
SyntaxError: 語法錯誤,錯誤發生在eval()中,因為其它點發生SyntaxError會無法通過解譯器
RangeError: 數值超出範圍
ReferenceError: 引用不可用
TypeError: 變數類型不是預期的
URIError: 錯誤發生在encodeURI()或decodeURI()中

拋出Error:
throw new Error(0,"Error Demo");
new Error可省略:
throw("Error Demo");

捕獲Error:
try catch finally語句:
try{
..可能錯誤的語句..}
catch(e){
..錯誤發生後的處理..}
finally{
..完成後執行的語句塊..}
finally不是必須的
如果嵌套,兩個catch不要使用同一個參數名,以免覆蓋
傳入的參數是一個Error對象,可以從中得到錯誤資訊
FF支援一個try多個catch,因為Js為弱類型不推薦使用

window.onerror錯誤捕獲:
window.onerror=function(Msg,Url,Num){}
onerror事件會傳給回呼函數3個預設參數
Msg: 錯誤資訊
Url: 發生錯誤的檔案的Url
Num: 錯誤發生位置的行號
window.onerror還能處理SyntaxError,比try catch更強大。
但是onerror屬於bom,所以各瀏覽器廠家對其的支援都不同。
如IE發生error時,正常的代碼會繼續執行;在FF中,代碼將結束;Safari只支援Image的onerror事件處理。

Image.onerror
onerror還可以應用於其它HTMLElement上,最常見的是<img />元素
<img src="sample.jpg" onerror="javascript:alert('映像載入錯誤');" />

處理Error:
判斷錯誤類型:
catch(e){
if(e.name=="RangeError")
alert("錯誤提示");}

catch(e){
if(e instanceof TypeError)
alert("錯誤提示");}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.