5-5、错误调试与处理

语法错误

简单来说,语法错误就是不符合JS语法的错误。出现语法错误,控制台会进行报错并告知出错的行号(但行号不一定准确)。

常见的语法错误有:

  • 符号漏打,多打,少打,错打
  • 使用了不合语法的变量名
  • 语句写错,没写完等
运行时错误

运行时错误(Runtime Error),指代码没有语法错误,而在运行的时候才发生的错误。运行时错误是一个统称。

常见的语法错误有:

  • ReferenceError,变量引用异常触发
  • TypeError,类型使用错误时触发
  • RangeError,不太常见,一般会在递归爆栈时触发,即递归深度太深

一般来说递增最多1024层。

function foo(){
	return foo();
}
foo();	//无限调用会爆掉
如何区分语法错误与运行时错误

对于新手来说,语法错误跟运行时错误在仅看代码的情况下不太容易区分。

一个简单的区分方法是:

  • 语法错误无论如何都不可能运行成功
  • 运行时错误是有可能运行成功的
逻辑错误

逻辑错误一般指的是计算结果不符合预期。

debugger;
//运行到此处暂停

在这里插入图片描述
watch可以添加需要监听的变量的值,每次变化就会显示出来。也可以改变值,比如加快循环次数
也可以添加判断,比如 num1<10,结果是true。

点击某一行前边的行数的时候,就可以加上一个断点

主动触发一个错误

在这里插入图片描述
对于前面的情况,可以主动触发一个错误
throw语句
如果输入的两个不是数字,那么,返回“请输入两个数字。”
在这里插入图片描述

try…catch
try {
    tryCode - 尝试执行代码块
}
catch(err) {
    catchCode - 捕获错误的代码块
}
finally {
    finallyCode - 无论 try / catch 结果如何都会执行的代码块
}

catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值