js 調試方法兩種

JS的錯誤捕獲通常有下面兩種方式:
1. 異常捕獲經常使用方法是 try/catch/ throw /finally
2. 全局捕獲window.onerrorjavascript

1. try/catch/throw/finallyjava

try{
//可能捕獲到的錯誤
}catch(e){
//捕獲到錯誤後的處理
}finally{
//完成後執行的語句塊
} // finally不是必須的

  

若是嵌套,兩個catch不要使用同一個參數名,以避免覆蓋。
傳入的參數是一個Error對象,能夠從中獲得錯誤信息。
FF支持一個try多個catch,由於Js爲弱類型不推薦使用。瀏覽器

try{
throw "error" //表示扔出一個錯誤
}catch(e){
console.log(e) // error
}

2.全局捕獲window.onerror
完整寫法:url

// 捕獲全局錯誤onerror
window.onerror = handleErr;
function handleErr(msg, url, line) {
  var errorTxt = "";
  errorTxt += "Error: " + msg + "\n";
  errorTxt += "Line: " + line + "\n";
  errorTxt += "Url: " + url + "\n";
  alert(errorTxt);
  return true;
}

msg: 錯誤信息
url: 發生錯誤的文件的url
line: 錯誤發生位置的行號
window.onerror還能處理SyntaxError,比try catch更強大。
可是onerror屬於bom,因此各瀏覽器廠家對其的支持都不一樣。
如IE發生error時,正常的代碼會繼續執行;在FF中,代碼將結束;Safari只支持Image的onerror事件處理。code

相關文章
相關標籤/搜索