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

  • 相关阅读:
    数独游戏 C++ 回溯法
    DirectX 90 3D 网格一
    DirectX 90 3D SetRenderState 设置渲染状态
    DirectX90 3D 字体
    DirectX 90 3D 外接体
    VS2005下配置OGRE
    DirectX 90 3D 网格二
    Java反射机制
    UBUNTU下安装 APACHE+PHP+MYSQL文本服务器!
    关于那个SMTP类及一个例子
  • 原文地址:https://www.cnblogs.com/WernerWu/p/11352810.html
Copyright © 2011-2022 走看看