• Promise前期准备---js的error处理


     1.错误的类型
          Error:所有错误的父类型
          ReferenceError:引用的变量不存在
          TypeError:数据类型不正确的错误
          RangeError:数据值不在其允许的范围内
          SyntaxError:语法错误
     
      // ReferenceError:引用的变量不存在
      // console.log(a)  //Uncaught ReferenceError: a is not defined
      // console.log('---')  //没有捕获error,下面的代码不会执行
    
      //   TypeError:数据类型不正确的错误
      // let b = null
      // console.log(b.name) //Uncaught TypeError: Cannot read property 'name' of null
    
      // RangeError:数据值不在其允许的范围内
      // function fn(){
      //   fn()  //自己调用自己,递归陷入死循环
      // }
      // fn()  //Uncaught RangeError: Maximum call stack size exceeded
    
      // SyntaxError:语法错误
      // const c = """"  //Uncaught SyntaxError: Unexpected string
      2.错误处理
          捕获错误:try...catch
          抛出错误:throw error
      // try{会出错的代码}catch(error){处理错误}
      try{
        let f
        console.log(f.sex)
      }catch (error) {
        console.log(error.message)
        console.log(error.stack)
      }
      // 就算上面有错误,也不耽误下面的执行,因为我们已经将错误捕获了
      console.log('出错之后')
     // throw Error抛出异常
        function something(){
          if(Date.now() % 2 === 1 ){
            console.log('当前时间为奇数,可以执行任务')
          }else{  //如果时间是偶数抛出异常,由调用者来处理
            throw new Error('当前时间为偶数,无法执行任务')
          }
        }
        // 处理捕获异常
        try {
          something()
        }catch (error){
          alert(error.message)
        }
      3.错误属性
          message属性:错误相关信息
          stack属性:函数调用栈记录
  • 相关阅读:
    深度剖析Byteart Retail案例
    REVIT使用中遇到的各种问题汇总
    常用设计规范
    编程修养
    Linux、Windows静态编译ffmpeg 4.4.1、x264、x265等编解码库的脚本
    程序员的灯下黑:重知识轻技术
    GitHub 公布 2021 Top 10 博文「GitHub 热点速览」
    狠人!标星 3.4 万的项目说删就删,几行代码搞崩数万个开源项目
    重装系统前备份fstab
    Ubuntu系统下制作U盘启动盘
  • 原文地址:https://www.cnblogs.com/yaya-003/p/12776114.html
Copyright © 2020-2023  润新知