美文网首页
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异常捕获、抛出及简单使用案例

    在js代码执行过程中一旦有错误,后续的相关代码都会终止,这样会使得我们的项目代码结构上很不健壮。在其他的一些编程语...

  • iOS 异常捕获处理机制(初级篇)

    一、异常处理简介 二、异常捕获案例 使用@try catch捕获异常 例1是最简单的一种写法: 捕获异常之嵌套捕获...

  • Python Debug

    1. 异常: 1.1 抛出异常 使用raise关键字抛出异常 1.2 捕获异常 2. 断言 禁用断言python ...

  • Android NDK(三)- JNI 异常

    常用方法 使用例 1 - C++ 中抛出异常 使用例 2 - C++ 捕获 Java 中的异常

  • Dart - 异常

    Dart 代码可以抛出和捕获异常。异常表示一些未知的错误情况,如果异常没有捕获则会被抛出从而导致抛出异常的代码终止...

  • Ruby语法(异常处理)

    异常处理结构 下面一个简单的示例,演示了捕获除数为零时发生的错误 抛出异常 raise: 简单抛出一个未处理的异常...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • 2020-05-15

    1.捕获异常: 2.用 raise抛出异常: 3.自定义简单异常: 4.异常的字符串化: 5.捕获所有异常: 6....

  • C++语法系列之9-- 异常处理

    1 异常常识: 1)使用throw抛出异常;2)使用try-catch 语句块捕获异常;3)catch语句块中,可...

  • sleep()-03-02

    Sleep需要捕获或者抛出异常,但是run方法不能抛出异常throws,所以在run方法中只能捕获异常(try c...

网友评论

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

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