JS——try...catch

视频:https://ke.qq.com/course/231577?taid=3983676656552089

try{}catch(e){}finally{}         //e可以随写

 

Error.name的六种值得对应的信息:

  1. EvalError:eval()的使用与定义不一致
  2. RangeError:数值越界
  3. ReferenceError:非法或不能识别的引用值
  4. SyntaxError:发生语法解析错误
  5. TypeError:操作数类型错误
  6. URIError:URI处理函数使用不当
try{
                console.log("a");
                console.log(b);
                console.log("c");
            }catch(e){
                
            }
            console.log("d");

try里面的代码错误的时候,他会报错,但是不会抛出错误,他不会执行错误的console.log(b);而是跳过,而且这个console.log(“c”);依然执行不出来,但是,后续的代码还是会执行。

try里面发生错误,不会执行错误后的try里面的代码。

那catch什么意思呢?

try{
                console.log("a");
                console.log("b");
                console.log("c");
            }catch(e){
                console.log("22");
                
            }
            console.log("d");

 

try{
                console.log("a");
                console.log(b);
                console.log("c");
            }catch(e){
                console.log("22");
                
            }
            console.log("d");

try里面的代码没有错误的时候,catch里面的代码是不会被执行的;

try里面的代码没有错误的时候,catch就负责把错的给捕捉到,有一堆错误信息errorerror是对象),系统会把错误信息(error.message error.name)封装到一个error对象里面,然后把error对象传到e里面,供咱们使用。

咱们看一下,

try{
                console.log("a");
                console.log(b);
                console.log("c");
            }catch(e){
                console.log(e.message + " " + e.name);
                
            }
            console.log("d");

咱现在不e.name和e,message调换一下顺序,再在catch外面加上一条错误的代码,你在看。

try{
                console.log("a");
                console.log(b);
                console.log("c");
            }catch(e){
                console.log(e.name + ":" + e.message);
            }
            console.log(f);
            console.log("d");

如果说你要把这个东西trycatch起来,catch就是负责捕捉错误的,捕捉错误到程序里面,他就不会抛出到控制台里面,他就不会让程序去终止。

那,如果try里面有两个错误呢?

try{
                console.log("a");
                console.log(b);
                console.log(c);
            }catch(e){
                console.log(e.name + ":" + e.message);
            }
            console.log("d");

这是因为到错误b他就停了,也就会看c了。

 

 

Error.name的六种值得对应的信息:

这个EeferenceError就是错误的名称,d is not defined就是错误信息。

错误的名称一共就六种,其中1,2,4,5是最不常用的。

  1. RefereError,如果一个变量未经声明就使用的话,就会RefereError;

当一个函数未经声明就调用,也会RefereError,

4.SyntaxError,当我写程序的时候写了一个中文的冒号,这种低级错误就会解析成SyntaxError。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

H_Cisco

感谢大佬打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值