zoukankan      html  css  js  c++  java
  • js你不是的那些基础问题-错误处理机制

    1 try...catch 结构

    一旦发生错误,程序就中止执行了。JavaScript 提供了try...catch结构,

    允许对错误进行处理,选择是否往下执行。

    try {
      throw new Error('出错了!');
    } catch (e) {
      console.log(e.name + ": " + e.message);
      console.log(e.stack);
    }
    // Error: 出错了!
    //   at <anonymous>:3:9
    //   ...
    

    2 finally 代码块

      try...catch结构允许在最后添加一个finally代码块,

      表示不管是否出现错误,都必需在最后运行的语句。

    function cleansUp() {
      try {
        throw new Error('出错了……');
        console.log('此行不会执行');
      } finally {
        console.log('完成清理工作');
      }
    }
    
    cleansUp()
    // 完成清理工作
    // Uncaught Error: 出错了……
    //    at cleansUp (<anonymous>:3:11)
    //    at <anonymous>:10:1
    

    3 throw 语句

      throw语句的作用是手动中断程序执行,抛出一个错误。

    if (x <= 0) {
      throw new Error('x 必须为正数');
    }
    // Uncaught ReferenceError: x is not defined
    

      上面代码中,如果变量x小于等于0,就手动抛出一个错误,

      告诉用户x的值不正确,整个程序就会在这里中断执行。

      可以看到,throw抛出的错误就是它的参数,这里是一个Error实例。

      throw也可以抛出自定义错误。

    function UserError(message) {
      this.message = message || '默认信息';
      this.name = 'UserError';
    }
    
    throw new UserError('出错了!');
    // Uncaught UserError {message: "出错了!", name: "UserError"}
    

      

    文章内容转自 阮一峰老师 JavaScript教程 https://wangdoc.com/javascript/index.html

  • 相关阅读:
    多任务5-协程(IO密集型适用)--gevent完成多任务及monkey补丁
    多任务4---greenlet完成多任务
    多任务3(协程)--yield完成多任务交替执行
    生成器调试---send方式
    生成器调试
    生成器创建的两种方式
    列表生成方式-列表推导式
    迭代器应用场景1---斐波那契
    迭代器
    多任务案例--文件夹copy.py
  • 原文地址:https://www.cnblogs.com/WernerWu/p/11352810.html
Copyright © 2011-2022 走看看