异常处理

在JavaScript可以使用try...catch来进行异常处理。js出错也不提示错误(防止浏览器右下角有个黄色的三角符号,要不用户体验不好)

  1. 在未申明或初始化的情况下使用变量

     alert(e);//系统报错,下面语句不执行
     alert('hello');
    

    改进

     try{
         alert(e);
         //其他语句
     }catch(e) {
         alert(e.message);
     }
     alert('hello');
    

    当try{}模块中出现异常时,立马跳转到catch(e){}模块 异常被异常处理对象e接管。所以“其他语句”部分也不会被执行。

    由此可见异常处理机制不是为了解决错误,而是为了避免错误给其他代码造成影响。

    不用异常处理也可以

     if(window.a){
         alert(a);
     }
     alert('hello');
    

    此处代码原理,会在后续课程中讲解

    相对于异常处理的有点是代码简洁,缺点是无法看到错误信息,程雪可读性差。

  2. finally

    无论try中代码是否有异常抛出(甚至是try代码块中有return语句),finally代码块中始终会被执行。

      try{
         alert(e);
     }catch(e) {
         alert(e.message);
     }finally {
         alert('我一定会出现');
     }
    

finally语句一般用来回收内存等收尾工作。

3.存在的问题

	try{
        setTimeout(function () {
            alert(a);
        },100);

    }catch(e) {
        alert(e.message);
    }finally {
        alert('我一定会出现');
    }
    alert('hello');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值