浏览器打开控制台的快捷键

Ctrl+shift+I

try-catch语句

语法

try{
// 可能会导致错误的代码
} catch(error){
// 在错误发生时怎么处理
}

可以自定义错误信息

try {
window.someNonexistentFunction();
} catch (error){
alert("An error happened!");
}

或者使用默认的错误信息,catch块会接收一个error对象,该对象有message属性和name属性,分别表示

message:错误信息

name:错误类型

try {
window.someNonexistentFunction();
} catch (error){
alert("An error happened!");
alert(error.message); //window.someNonexistentFunction is not a function
alert(error.name); //TypeError
}

 finally子句

只要有finally子句存在,那么try和catch子句都会被忽略。(哪怕没有catch子句)

function testFinally(){
try {
return 2;
} catch (error){
return 1;
} finally {
return 0;
}
} //最后返回0

 错误类型

ECMA-262 定义了下列 7 种错误类型:

 Error
 EvalError
 RangeError
 ReferenceError
 SyntaxError
 TypeError
 URIError

在找不到对象的情况下,会发生 ReferenceError(这种情况下,会直接导致人所共知的"object
expected"浏览器错误)

TypeError 类型在 JavaScript 中会经常用到,在变量中保存着意外的类型时,或者在访问不存在的
方法时,都会导致这种错误。

使用console对象将错误信息输出到控制台。

console.log(...);

下面是几种避免浏览器响应 JavaScript 错误的方法。

 在可能发生错误的地方使用 try-catch 语句,这样你还有机会以适当的方式对错误给出响应,
而不必沿用浏览器处理错误的机制。
 使用 window.onerror 事件处理程序,这种方式可以接受 try-catch 不能处理的所有错误(仅
限于 IE、 Firefox 和 Chrome)。
另外,对任何 Web 应用程序都应该分析可能的错误来源,并制定处理错误的方案。
 首先,必须要明确什么是致命错误,什么是非致命错误。
 其次,再分析代码,以判断最可能发生的错误。 JavaScript 中发生错误的主要原因如下。
类型转换
未充分检测数据类型
发送给服务器或从服务器接收到的数据有错误

JS高程3:错误处理和调试的更多相关文章

  1. JS 错误处理与调试

    在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误非常明显相当于大海捞针.为此,每种计算机编程语言都要它独特的一套错误处理与调试机制.当然,JavaScript也不例外. 错误发生: 运行代 ...

  2. 《JS高程》-教你如何写出可维护的代码

    1.前言   在平时工作开发中,大部分开发人员都花费大量的时间在维护其他人员的代码.很难从头开始开发新代码,很多情况下都是以他人成果为基础的,或者新增修改需求,自己写的代码也会被其他开发人员调用,所以 ...

  3. 吃透Javascript数组操作的正确姿势—再读《Js高程》

    Javascript中关于数组对象的操作方法比较多也比较杂,正好再次捡起<Javascript高级程序设计>来读,把它们一一总结梳理了一下: 方法类别 方法名称 方法描述 参数 返回值 备 ...

  4. 第一百二十三节,JavaScript错误处理与调试

    JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...

  5. myeclipse中导入js报如下错误Syntax error on token "Invalid Regular Expression Options", no accurate correc

    今天在使用bootstrap的时候引入的js文件出现错误Syntax error on token "Invalid Regular Expression Options", no ...

  6. 17. javacript高级程序设计-错误处理与调试

    1. 错误处理与调试 l 在可能发生错误的地方使用try-catch方法,可以对错误进行及时的相应 l 使用window.onerror事件处理程序,这种方式可以接受try-catch不能处理的所有错 ...

  7. 《JS高程》创建对象的7种方式(完整版)

    一.理解对象 ECMA-262定义对象:无序属性的集合,其属性可以包含基本值.对象或者属性. 我们可以把 ECMAScript 的对象想象成 散列表:无非就是一组 名值对,其中值可以是数据或函数. 创 ...

  8. 《JS高程》事件学习笔记

    事件:文档或浏览器窗口中发生的一些特定的交互瞬间,也即用户或浏览器自身执行的某种动作. -------------------------------------------------------- ...

  9. 《JS高程》JS-Object对象整理

    继上篇<JS高程>对象&原型笔记,对JavaScript中的Object对象进行了整理,梳理一遍~ 参考文章:详解Javascript中的Object对象 ------------ ...

  10. 【转】Eclipse去除js(JavaScript)验证错误

    这篇文章主要是对Eclipse去除js(JavaScript)验证错误进行了介绍.在Eclipse中,js文件常常会报错.可以通过如下几个步骤解决 第一步:去除eclipse的JS验证:将window ...

随机推荐

  1. JAVA项目如何打开,打开乱码怎么办,字体太小怎么办,感叹号是什么情况

    打开java项目 Finish 汉字乱码改这里 字体大小改在第一个的 Appearance里面 项目前面有感叹号,都是tomcat和jdk配置有问题

  2. 【LaTeX】E喵的LaTeX新手入门教程(5)参考文献、文档组织

    这不是最后一篇,明天开始建模所以会从6号开始继续更新.前情回顾[LaTeX]E喵的LaTeX新手入门教程(1)准备篇 [LaTeX]E喵的LaTeX新手入门教程(2)基础排版 [LaTeX]E喵的La ...

  3. 如何限制jenkins的任务在某个节点上执行

    1.首先给节点打标签,一个节点可以打多个标签,中间使用空格分开 2.其次在每个任务上标记执行的标签位置,这样这个任务就在包含这些标签的节点上执行 3.通过这个方法限制的任务,只会跑在指定节点上,即是当 ...

  4. mysql5.7用户密码策略问题

    密码策略问题 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 查看 mysql 初 ...

  5. 微博轻量级RPC框架Motan正式开源:支撑千亿调用

    支撑微博千亿调用的轻量级 RPC 框架 Motan 正式开源了,项目地址为https://github.com/weibocom/motan. 微博轻量级RPC框架Motan正式开源 Motan 是微 ...

  6. Asp.Net 之 二维码生成

    首先,引用 ThoughtWorks.QRCode.dll . 简单二维码生成及解码代码: //生成二维码方法一 private void CreateCode_Simple(string nr) { ...

  7. virtualbox使用相关问题

    官方下载地址: http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html VirtualBox主 ...

  8. unity3d中布娃娃系统

    原地址:http://blog.csdn.net/pizi0475/article/details/9771941 转自: http://forum.mirax.com.tw/unity/viewto ...

  9. 关于iOS上使用WWW引起的内存泄漏的临时解决方案

    原地址:http://www.unity蛮牛.com/thread-16493-1-1.html 目前,在的4.3.3.和4.3.4版本中存在一个iOS平台上的内存泄漏问题,即当使用WWW来下载和加载 ...

  10. js 终止 forEach 循环

    1.因为 forEach() 无法通过正常流程终止,所以可以通过抛出异常的方式实现终止. try{ var array = ["first","second", ...