• ES6中Try...Catch....finally 异常捕获


    基本语法

    /**
    *
    * try {
    *     tryCode -- 尝试执行的代码
    * } catch(error) {
    *     catchCode -- 捕捉到错误的代码时触发
    * } finally {
    *     finallyCode -- 无论走 try/catch 都要执行这里的代码
    * }
    *
    */

    简单案例

    try {
      alert("1");
    } catch (error) {
      alert(error);
    } finally {
      alert("Hello, 郑州");
    }

    复杂案例

    var a = 3;
    try {
      if (a < 5) {
        alert("+++++++");
        let a = 10000;
        // throw 的值会传递给 catch
        throw a;
      }
      if (a < 10 && a >= 5) throw "这个数小于10";
      if (a < 15 && a >= 10) throw "这个数小于15";
    } catch (msg) {
      alert(msg);
    }

    try catch的缺点

    1.try catch耗性能
    2.try catch捕获不到异步错误
    3.try catch可能会导致报错点更模糊

    报错顺序

    a.try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行
    b.catch和finally里面,正常的代码会从上到下顺序执行
    c.如果只是catch里面代码出错,则报catch里面的错误
    d.如果catch和finally都出错则会报finally里面的错误

    使用场景

      为容易出错的,容易产生兼容问题的代码段加上try..catch。合处理那些我们无法控制的错误,如I/O操作,后端java读取I/O操作比较多比如读数据库,所以用try catch比较多。前端可以用在上传图片或async await同步调接口。

    注意

      try catch语句,作为JavaScript中处理异常的一种标准方式。但是在前端js代码中很少看到try catch语句,并不是所以代码都需要加try catch来作得不偿失的“保险”。
  • 相关阅读:
    Linux----------系统管理之释放内存
    阿里云OSS挂载到ECS(注意fuse版本,必须和源码对应)
    数据库图形化管理工具navicat
    linux集群管理工具clustershell
    记一次nginx启动报错
    虚拟化之KVM
    虚拟化之-XEN(未完待续)
    虚拟化
    Linux----------Jenkins基础
    Linux日常系统管理命令
  • 原文地址:https://www.cnblogs.com/ranyihang/p/try.html
Copyright © 2020-2023  润新知