1.JavaScript 错误 - throw、try 和 catch

try 语句测试代码块的错误。

catch 语句处理错误。

throw 语句创建自定义错误。

1.1 JavaScript 错误

当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。

可能是语法错误,通常是程序员造成的编码错误或错别字。

可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。

可能是由于来自服务器或用户的错误输出而导致的错误。

当然,也可能是由于许多其他不可预知的因素。

1.2JavaScript 抛出(throw)错误

当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。

描述这种情况的技术术语是:JavaScript 将抛出一个错误。

1.3JavaScript try 和 catch

try 语句允许我们定义在执行时进行错误测试的代码块。

catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。

JavaScript 语句 try 和 catch 是成对出现的。

try {//在这里运行代码
} catch(err) {//在这里处理错误
}

var txt="";
function message()
{ try { adddlert("Welcome guest!"); } catch(err) { txt="本页有一个错误。\n\n"; txt+="错误描述:" + err.message + "\n\n"; txt+="点击确定继续。\n\n"; alert(txt); }
}

1.3Throw 语句

throw 语句允许我们创建自定义错误。

正确的技术术语是:创建或抛出异常(exception)。

如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。

throw exception

异常可以是 JavaScript 字符串、数字、逻辑值或对象。

本例检测输入变量的值。如果值是错误的,会抛出一个异常(错误)。catch 会捕捉到这个错误,并显示一段自定义的错误消息:

function myFunction() {var message, x;message = document.getElementById("message");message.innerHTML = "";x = document.getElementById("demo").value;try { if(x == "")  throw "值为空";if(isNaN(x)) throw "不是数字";x = Number(x);if(x < 5)    throw "太小";if(x > 10)   throw "太大";}catch(err) {message.innerHTML = "错误: " + err;}
}

2.JavaScript 调试

2.1JavaScript 调试工具

在程序代码中寻找错误叫做代码调试。

调试很难,但幸运的是,很多浏览器都内置了调试工具。

内置的调试工具可以开始或关闭,严重的错误信息会发送给用户。

有了调试工具,我们就可以设置断点 (代码停止执行的位置), 且可以在代码执行时检测变量。

浏览器启用调试工具一般是按下 F12 键,并在调试菜单中选择 "Console" 。

console.log() 方法

如果浏览器支持调试,你可以使用 console.log() 方法在调试窗口上打印 JavaScript 值:

a = 5;
b = 6;
c = a + b;
console.log(c);

2.2设置断点

在调试窗口中,你可以设置 JavaScript 代码的断点。

在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。

在检查完毕后,可以重新执行代码(如播放按钮)。

2.3debugger 关键字

debugger 关键字用于停止执行 JavaScript,并调用调试函数。

这个关键字与在调试工具中设置断点的效果是一样的。

如果没有调试可用,debugger 语句将无法工作。

开启 debugger ,代码在第三行前停止执行。

转载于:https://www.cnblogs.com/lingwang3/p/8371033.html

javascript 错误与调试相关推荐

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

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

  2. javascript错误处理与调试

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

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

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

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

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

  5. javascript演变史_检查有史以来最著名JavaScript错误之一

    javascript演变史 by aiswarya krishna 通过aiswarya克里希纳 检查有史以来最著名JavaScript错误之一. (Inspecting one of the mos ...

  6. Visual Studio 2013中因SignalR的Browser Link引起的Javascript错误一则

    众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后 ...

  7. javascript错误_JavaScript开发人员最常犯的10个错误

    javascript错误 常见错误1:对" this'错误引用 (Common Mistake #1: Incorrect references to 'this') As JavaScri ...

  8. Javascript错误处理——try...catch

    Javascript错误处理--try-catch 无论我们编程多么精通,脚本错误怎是难免.可能是我们的错误造成,或异常输入,错误的服务器端响应以及无数个其他原因. 通常,当发送错误时脚本会立刻停止, ...

  9. 网页初学者,如何使用VS2005搭建编程环境(JavaScript及ASP调试)

    一直想学一下网页编程,但是感觉要学的东西太多了.也没有人指导.只好一个人摸索. 尝试了一些常用的网页编程技术.得出自己的总结,写在这里做一个备份. 本文写个自己,也作为和我一样的初学者一个参考. [工 ...

最新文章

  1. pandas DataFrame(2)-行列索引及值的获取
  2. Windows下VS2013 C++编译测试faster-rcnn
  3. 段的创建表user_segments
  4. 【文章】七不出,八不归,原来是这个意思
  5. 入门 | 使用 SQL 构建一个关系数据库比你想的更容易
  6. [UOJ50]链式反应
  7. 【java】java JUC 同步器框架 AQS AbstractQueuedSynchronizer源码图文分析
  8. css使两个盒子并列_前端学习CSS
  9. c语言顺序比较法字符,常用C语言排序算法解析
  10. 解决nacos不停刷日志 ClientWorker get changedGroupKeys:[] 问题
  11. Windows 10正式版官方原版ISO镜像下载
  12. B站Up主-山地人-这位老哥2019年的前端自学计划进展如何?——讲一个B站Up主自学前端85天的故事...
  13. 中国通信简史 (下)
  14. MathType中如何实现上下两行公式“=”号对齐
  15. 7-5 偶数位特殊序列和 (40分)
  16. 我的世界手机版服务器文件,《我的世界手机版》服务器配置文件详解教程攻略...
  17. 苹果手机怎么编辑word文档_Word文档怎么转化为pdf格式?办公必备方法!
  18. POJ4082树的镜面转换--左子右兄数与树的转换(一)
  19. 【Java】将数字金额转换为大写中文金额
  20. TI DaVinci(达芬奇)入门

热门文章

  1. leetcode算法题--删除排序链表中的重复元素 II
  2. subprocess 模块
  3. 大数据标准化白皮书正式发布
  4. 用阿里云镜像解决Maven速度慢问题
  5. linux下目录的个个文件夹含义
  6. 在创建的Silverlight Control中使用图片
  7. python连接mysql数据库数据库_python如何连接mysql数据库
  8. ipqc异常处理流程图_产线异常处理流程
  9. BCB key事件中判断Shift、Alt、Ctrl状态
  10. RabbitMQ 相关概念和方法详解