1.Error对象

表示一个错误,代码运行中发生错误时,会创建Error对象并抛出。

创建错误:
new Error([message],[filename],[lineNumber])

Error类型:

  • EvalError 与eval相关的错误
  • InternalError javascript引擎内部错误,如递归太多
  • RangeError 数值变量或参数超出有效范围
  • ReferenceError 无效引用
  • SyntaxError 语法错误
  • TypeError 变量或参数不属于有效类型
  • URIError 给encodeURI()或decodeURI传递的参数无效

Error.prototype主要属性

  • name:'Error'
  • message 错误信息
  • stack 错误跟踪

2.处理异常

try catch语句可以处理异常。有三种结构:

  • try catch
  • try finally
  • try catch finally

try中异常发生就不再执行剩余代码,转而执行catch。

 1      try{ //需要被执行的语句
 2             console.log('begin');
 3             throw new Error('hoho!');
 4             //throw new Error('hoho!','test.html','28'); 设置了也没用
 5             console.log('after');   //不会被执行
 6         }
 7         catch(err){ //try中有异常时执行的语句
 8             console.error(err.stack);   //Error: hoho! at test.html:29
 9             //console.log(err.name+":"+err.message);  //Error:hoho!
10         }
11         finally{  //无论是否有异常都会执行的语句
12             console.log('end.');
13         }

try嵌套时,异常被最近的catch捕获一次。catch中能向外抛出新异常。inally中有return将结束整个try,不再处理异常。

 1      try{
 2             try{
 3                 throw new Error('hoho!');
 4             } catch(err){
 5                 console.error('inner',err.message);
 6                 throw err;
 7             } finally{
 8                 console.log('end');
 9             }
10         } catch(err){
11             console.error('outer',err.message);
12         }
13         //output:
14         //end
15         //inner hoho!
16         //outer hoho!

4.监听所有异常

1      window.onerror = function(message,source,lineNumber,rowNumber,error){ //参数以Chrome为例
2
3             console.log('处理错误...');
4
5             return true;   //true不提示错误,flase提示错误
6         }
7
8         //allert(1);

转载于:https://www.cnblogs.com/feitan/p/5479501.html

JavaScript错误和异常相关推荐

  1. JavaScript错误与异常

    JavaScript错误与异常 下面是对JavaScript错误与异常的整理,希望可以帮助到有需要的小伙伴. 1.错误与异常是什么 错误,指程序中的非正常运行状态,在其它编程语言中称为"异常 ...

  2. IE调试网页之五:使用 F12 开发人员工具调试 JavaScript 错误 (Windows)

    使用 F12 开发人员工具,Web 开发人员能够在无需离开浏览器的情况下快速调试 JavaScript 代码. 通过内置到每个 Windows Internet Explorer 9 安装中,F12 ...

  3. 快速而优雅的处理 JavaScript 中的错误与异常(一键 get 新技能)

    古之立大事者,不惟有超世之才,亦必有坚忍不拔之志.--苏轼 写在前面 在我们的实际编程中,抛出异常(代码报错)是最正常不过的,但是怎么处理异常这就要因人而异的,有的人遇到异常,通常会通过某种办法解决这 ...

  4. 浅谈JavaScript错误

    本文主要从前端开发者的角度谈一谈大多数前端开发者都会遇到的js错误,对错误产生的原因.发生阶段,以及如何应对错误进行分析.归纳和总结,希望得到一些有益的结论用来指导日常开发工作. 概念辨析 错误(Er ...

  5. javascript 错误与调试

    1.JavaScript 错误 - throw.try 和 catch try 语句测试代码块的错误. catch 语句处理错误. throw 语句创建自定义错误. 1.1 JavaScript 错误 ...

  6. 【转】调试JavaScript 错误的解决方案

    A  使用alert() 和document.write() 方法监视变量值 如果要中断代码的运行,监视变量的值,则使用alert() 方法: 如果需要查看的值很多,则使用document.write ...

  7. javascript错误处理与调试

    视频课堂https://edu.csdn.net/course/play/7621 在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误很明显相当于大海捞针,为此,每种计算机编程语言都要它独特 ...

  8. 究竟 javascript 错误处理有哪些类型?

    有时候,在自己封装的工具函数中,不传参或传入了错误类型的参数,也要适当的抛出一些错误以示警告:使用框架不正常情况下也会抛出错误,如果对错误一无所知,便无从下手调试.综合上述,了解错误的处理机制是多么必 ...

  9. javascript错误处理与调试(转)

    JavaScript 在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑. ECMAScript 第 3 版为了解决这个问题引入了 try...catch 和 throw 语 ...

最新文章

  1. c语言笔试面试大全,C语言笔试面试题大全.doc
  2. LeetCode 452 Minimum Number of Arrows to Burst Balloons(贪心法)
  3. 码农不重视文档:开源项目深受其苦
  4. CMake学习使用(基于vscode)
  5. android 事件分发
  6. 电脑桌面点任何文件都打开计算机,桌面上的文件全部都打不开
  7. 电脑运行VirtualBox虚拟机总是提示0x00000000错误的解决方法
  8. 有着 30 多年经验的程序员最终被辞退了
  9. 队列的JS实现及广度优先搜索(BFS)的实现
  10. Java面试题:final修饰的对象,有几种初始化方式
  11. 501.二叉搜索树中的众数
  12. maven学习二(dependencies)
  13. 中兴2021批笔试题解
  14. 华为、中兴嵌入式(C)笔试题
  15. PHP第一季视频教程.李炎恢.学习笔记(二)(第2章 基本语法(1))
  16. Python爬取NBA虎扑球员数据
  17. 威海市第四届ACM大赛感想
  18. windowsxp下载python下载视频_Python实现视频下载功能
  19. excel公式里用html,excel中value是什么函数?
  20. 2019-9-11-数据结构查找方法总结

热门文章

  1. Python入门--集合的创建,set(),{}
  2. 递归法 最大公倍数 斐波那契数列 数组插入排序改递归
  3. bzoj 5016: [Snoi2017]一个简单的询问(莫队)
  4. opencv 寻找图中的corners 利用自带 Shi-Tomasi Corner Detector 实现
  5. prometheus-operator架构部署( prometheus-server, pushgateway, grafana, alertmanater,servicemonitor...)
  6. Echarts数据可视化legend图例,开发全解+完美注释
  7. selenium3 + python - js处理readonly属性
  8. Django(ORM常用字段)
  9. RANDOM模块:PYTHON获取随机数
  10. Chrome 实现前端页面自动刷新