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事件处理。

最新文章

  1. php调试工具——XDebug使用
  2. fir.im Weekly - 关于 Log Guru 开源、Xcode 探索和 Android7.0 适配
  3. 修改centos启动项
  4. Linux配置无线网卡驱动实现无线上网
  5. JavaScript 火花效果
  6. c语言文件操作函数详解
  7. 基于SMB协议的共享文件读写
  8. Keil 的调试命令、在线汇编与断点设置
  9. Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
  10. 在PHP代码中处理JSON 格式的字符串的两种方法:
  11. C# To JAVA Converter Cracked ( 破解版 )
  12. gym 101081 E. Polish Fortress 几何
  13. 值得Python小白学习的书 简单推荐几本吧
  14. windows下搭建Consul分布式系统和集群
  15. Confluence 6 自动添加用户到用户组
  16. TCP/IP 协议图--网络层中的 IP 协议
  17. js+Ajax,Get和Post在使用上的区别
  18. Linux CentOS6.5 命令修改网络配置
  19. idea整个项目乱码解决办法
  20. SynchronizationContext应用

热门文章

  1. 2018 江苏省邀请赛 H
  2. Import Items – Validation Multiple Languages Description
  3. SQLAlchemy的group_by和order_by的区别
  4. 【Nginx】发送响应
  5. org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {解决方法
  6. eclipse Alt+/ 不能提示
  7. hdoj 1533 Going Home 【最小费用最大流】【KM入门题】
  8. centos+nginx+php-fpm+php include fastcgi_params php页面能訪问但空白,被fastcgi_params与fastcgi.conf害慘了
  9. POJ 1061 青蛙的约会(扩展GCD求模线性方程)
  10. Centos 6.4 实际工作环境搭建(LNMP)