美文网首页
js异常捕获、抛出及简单使用案例

js异常捕获、抛出及简单使用案例

作者: hunter97 | 来源:发表于2019-07-24 18:22 被阅读0次

    在js代码执行过程中一旦有错误,后续的相关代码都会终止,这样会使得我们的项目代码结构上很不健壮。在其他的一些编程语言中都有异常捕获的方法,提供了异常处理机制,可以处理出现的异常,而不会停止整个应用程序.在es3之后的版本中js也可以进行异常捕获,通过try{}catch{}使的前端代码更加健壮。

    Error具有下面一些主要属性:
    1.description: 错误描述 (仅IE可用).
    2.fileName: 出错的文件名 (仅Mozilla可用).
    3.lineNumber: 出错的行数 (仅Mozilla可用).
    4.message: 错误信息 (在IE下同description)
    5.name: 错误类型.
    6.number: 错误代码 (仅IE可用).
    7.stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).

    一、异常捕获 try{}catch{}

    例如

      let str = 'cuiht';
      str.push('test');
      console.log('执行完毕');
    

    将会执行报错,并阻塞后面的代码执行。如图:



    而我们将异常捕获之后,就可以让代码正常执行。例如:

      let str = 'cuiht';
      try {
        str.push('test');
      } catch (error) {
        console.log('代码执行出错!');
        console.log(error);
      }
      console.log('代码执行完毕!');
    

    执行结果如图:


    一、异常抛出 throw

    在我们执行程序的过程中,在不符合要求的情况终止程序进行,这时候我们就可以将异常抛出。

    let subtract = (max,min) => {
        if (min<=max) {
          return max-min
        } else {
          throw '参数有误,减数小于被减数!'
        }
        console('已计算出结果!')
      }
      subtract(0,1)
    

    执行结果如图:


    配合try{}catch{}使用:
      try {
        subtract(0,1)
      } catch (error) {
        console.log(error);
      }
    
      try {
        console.log(subtract(5,1));
      } catch (error) {
        console.log(error);
      }
    

    执行结果如图:第一个代码块报出错误,第二个代码块正常输入结果。


    将一付好牌打好没有什么了不起能将一付坏牌打好的人才值得钦佩。

    相关文章

      网友评论

          本文标题:js异常捕获、抛出及简单使用案例

          本文链接:https://www.haomeiwen.com/subject/blxxrctx.html