js中错误处理的相关知识

Posted baoyadong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中错误处理的相关知识相关的知识,希望对你有一定的参考价值。

    错误bug是指程序执行过程中,导致程序无法正常执行的情况。

    后果:程序会强行中断退出;

    错误处理:
                即使程序出现错误,也保证程序不异常中断的机制

一般的使用的代码如下:

    try{//始终执行
            //可能出现的代码

        }catch(err){//只有发生错误时才执行;
                         出错时执行的错误处理代码-----通知用户,记录日志,保存进度。
                         err:错误对象,
}
   finally{//无论是否出错,都必须执行的代码----一般用于释放资源。

但是这会导致一个问题,就是放在try catch中的代码,执行效率会降低。

解决方式:
          1.尽量少的将代码放入try catch
          2.如果可提前预知错误原因,可用if else语句来做判断。提前预防错误。

 1 var num = +prompt(‘请输入一个数字‘),
 2             d = +prompt(‘输入一个小数位数‘);
 3 
 4 
 5     try {
 6         var result = num.toFixed(d);
 7         alert(result);
 8     }catch(err){
 9         alert(‘出错了‘);
10         console.log(String(err));
11     }
12     finally {
13         console.log(‘释放资源‘);
14         num = null;d =null;
}
document.write(‘程序继续执行....‘)

改善如下:

1  if(d>=0&&d<=20){
2        var result = num.toFixed(d);
3        alert(result);
4 
5      }else{
6        alert(‘出错了‘);
7        console.log(‘111111111‘);
8     }
9     document.write(‘程序继续执行....‘)

抛出自定义异常

       throw new Error(‘错误信息’);

Js中错误对象的类型:——6种
(要经常总结错误的类型,然后在博客中写出)
SyntaxError:语法错误,程序的语法写错了
ReferenceError:引用错误,要用的变量没找到
TypeError:类型错误,错误的使用对象的类型
比如:对非数组使用[];对非函数使用();对null/undefined使用.xxx;要调用的函数,对象中没有:console.write
RangeError:范围错误,参数超范围;
比如:toFixed(d) d:0-20之间,如果写-2,就出错。
URIerror,EvelError;

 



















以上是关于js中错误处理的相关知识的主要内容,如果未能解决你的问题,请参考以下文章

AJAX相关JS代码片段和部分浏览器模型

js中闭包和对象相关知识点

C基础知识(11):错误处理

js循环(while循环,do while循环,for循环)相关知识点及练习

Throwable相关知识1

Linux 相关编译知识