
正文
js中错误处理的相关知识
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
错误bug是指程序执行过程中,导致程序无法正常执行的情况。
后果:程序会强行中断退出;
错误处理:
即使程序出现错误,也保证程序不异常中断的机制。
一般的使用的代码如下:
try{//始终执行
//可能出现的代码
}catch(err){//只有发生错误时才执行;
出错时执行的错误处理代码-----通知用户,记录日志,保存进度。
err:错误对象,
}
finally{//无论是否出错,都必须执行的代码----一般用于释放资源。
但是这会导致一个问题,就是放在try catch中的代码,执行效率会降低。
解决方式:
1.尽量少的将代码放入try catch
2.如果可提前预知错误原因,可用if else语句来做判断。提前预防错误。
var num = +prompt('请输入一个数字'),
d = +prompt('输入一个小数位数'); try {
var result = num.toFixed(d);
alert(result);
}catch(err){
alert('出错了');
console.log(String(err));
}
finally {
console.log('释放资源');
num = null;d =null;
}
document.write('程序继续执行....')
改善如下:
if(d>=0&&d<=20){
var result = num.toFixed(d);
alert(result); }else{
alert('出错了');
console.log('111111111');
}
document.write('程序继续执行....')
抛出自定义异常
throw new Error(‘错误信息’);
Js中错误对象的类型:——6种
(要经常总结错误的类型,然后在博客中写出)
SyntaxError:语法错误,程序的语法写错了
ReferenceError:引用错误,要用的变量没找到
TypeError:类型错误,错误的使用对象的类型
比如:对非数组使用[];对非函数使用();对null/undefined使用.xxx;要调用的函数,对象中没有:console.write
RangeError:范围错误,参数超范围;
比如:toFixed(d) d:0-20之间,如果写-2,就出错。
URIerror,EvelError;







