js 调试方法两种

JS的错误捕获一般有下面两种方式:
1. 异常捕获常用方法是 try/catch/ throw /finally
2. 全局捕获window.onerror

1. try/catch/throw/finally

try{
//可能捕获到的错误
}catch(e){
//捕获到错误后的处理
}finally{
//完成后执行的语句块
} // finally不是必须的

  

如果嵌套,两个catch不要使用同一个参数名,以免覆盖。
传入的参数是一个Error对象,可以从中得到错误信息。
FF支持一个try多个catch,因为Js为弱类型不推荐使用。

try{
throw "error" //表示扔出一个错误
}catch(e){
console.log(e) // error
}

2.全局捕获window.onerror
完整写法:

// 捕获全局错误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事件处理。

posted @ 2019-03-23 23:56  码天码地  阅读(530)  评论(0编辑  收藏  举报