JS错误处理与调试操作实例分析


Posted in Javascript onApril 13, 2020

本文实例讲述了JS错误处理与调试操作。分享给大家供大家参考,具体如下:

JavaScript 错误 - throw、try 和 catch

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

catch 语句处理错误。

throw 语句创建自定义错误。

finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。

JavaScript try 和 catch

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

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

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

语法

try { 
  ... //异常的抛出 
} catch(e) {
   ... //异常的捕获与处理 
} finally { 
  ... //结束处理 }

例:

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

finally 语句

finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。

<input id="demo" type="text">
<button type="button" οnclick="myFunction()">点我</button>
<p id="p01"></p>
<script>
function myFunction() {
 var message, x;
 message = document.getElementById("p01");
 message.innerHTML = "";
 x = document.getElementById("demo").value;
 try { 
  if(x == "") throw "值是空的";
  if(isNaN(x)) throw "值不是一个数字";
  x = Number(x);
  if(x > 10) throw "太大";
  if(x < 5) throw "太小";
 }
 catch(err) {
  message.innerHTML = "错误: " + err + ".";
 }
 finally {
  document.getElementById("demo").value = "";
 }
}
</script>

Throw 语句

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;
  }
}

JavaScript 调试工具

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

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

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

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

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

console.log() 方法

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

实例

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

设置断点

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

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

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

debugger 关键字

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

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

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

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

实例

var x = 15 * 5; 
debugger; 
document.getElementbyId("demo").innerHTML = x;

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
利用jQuery 实现GridView异步排序、分页的代码
Feb 06 Javascript
js中获取事件对象的方法小结
Mar 13 Javascript
connect中间件session、cookie的使用方法分享
Jun 17 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
Oct 13 Javascript
JQuery学习总结【一】
Dec 01 Javascript
微信小程序之拖拽排序(代码分享)
Jan 21 Javascript
vue图片加载与显示默认图片实例代码
Mar 16 Javascript
JS实现AES加密并与PHP互通的方法分析
Apr 19 Javascript
Avalonjs双向数据绑定与监听的实例代码
Jun 23 Javascript
详解vue项目构建与实战
Jun 27 Javascript
vue 之 .sync 修饰符示例详解
Apr 21 Javascript
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
JS正则表达式常见函数与用法小结
Apr 13 #Javascript
javascript设计模式 ? 桥接模式原理与应用实例分析
Apr 13 #Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
Apr 13 #Javascript
JavaScript创建表格的方法
Apr 13 #Javascript
JavaScript实现捕获鼠标坐标
Apr 12 #Javascript
jquery实现轮播图特效
Apr 12 #jQuery
用jQuery实现抽奖程序
Apr 12 #jQuery
You might like
php printf输出格式使用说明
2010/12/05 PHP
php实现图片文件与下载文件防盗链的方法
2014/11/03 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
PHP实现活动人选抽奖功能
2017/04/19 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
JS面向对象编程之对象使用分析
2010/08/19 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
javascript:void(0)点击登录没反应怎么解决
2015/11/13 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
jquery树形插件zTree高级使用详解
2019/08/16 jQuery
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
详解Python的Django框架中的模版相关知识
2015/07/15 Python
python放大图片和画方格实现算法
2018/03/30 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
python中partial()基础用法说明
2018/12/30 Python
python SVM 线性分类模型的实现
2019/07/19 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
tensorflow查看ckpt各节点名称实例
2020/01/21 Python
Python字符串hashlib加密模块使用案例
2020/03/10 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
英国在线定做百叶窗网站:Make My Blinds
2020/08/17 全球购物
护理专业个人求职简历的自我评价
2013/10/13 职场文书
消防应急演练方案
2014/02/12 职场文书
促销活动总结范文
2014/04/30 职场文书
司法助理专业自荐书
2014/06/13 职场文书
篮球社团活动总结
2014/06/27 职场文书
2014年建筑工作总结
2014/11/26 职场文书
小程序实现侧滑删除功能
2022/06/25 Javascript