要会调试程序,先得看懂一些错误名词,不然显示错误看不懂就尴尬了:
try{
//可能发生错误的代码
}catch(err){
//只有发生错误时才执行的代码
}finally{
//无论是否出错,都要执行的代码
}
错误类型有(图片引自菜鸟教程):
接下来实列告诉大家如何用try-catch调试js
<script>
function test() {
try {
alerrt("故意写错");
//出错后直接跳转到catch,后面代码不执行
console.log('还会继续执行吗');
} catch (error) {
console.log('有错' + error);
}
console.log('继续执行了try-catch后面的东西');
}
test();
</script>
结果是:
结论:
- 我们可以用try-catch语句来调试程序,觉的哪一块可能有问题就放在来找出错误
- 如果try语句中有错,将不会执行后面的语句,直接跳转到catch语句处理错误
- try语句没问题,自然不会去执行catch语句
- try-catch完了之后,try-catch后面的其他还会继续执行
throw :创建自定义错误,根据内容返回自定义的错误提示
finally 在try-catch之后,无论是否检测到了错误,都会执行finally语句
var input = document.querySelector('input');
input.addEventListener('blur', function() {
var val = input.value;
try {
if (val === '') throw '值是空的';
if (val < 0) throw '值是负数';
} catch (error) {
console.log(error);
} finally {
input.value = '';
}
})
这里意思就是如果输入的小于0 就会错误提示 输入小于0了,如果为空,就会错误提示输入为空,
最后finally都会执行,将输入框内容清空