首页 > 其他 > 详细

ES6中Try...Catch....finally 异常捕获

时间:2020-02-25 23:37:37      阅读:125      评论:0      收藏:0      [点我收藏+]

基本语法

/**
*
* try {
*     tryCode -- 尝试执行的代码
* } catch(error) {
*     catchCode -- 捕捉到错误的代码时触发
* } finally {
*     finallyCode -- 无论走 try/catch 都要执行这里的代码
* }
*
*/

简单案例

try {
  alert("1");
} catch (error) {
  alert(error);
} finally {
  alert("Hello, 郑州");
}

复杂案例

var a = 3;
try {
  if (a < 5) {
    alert("+++++++");
    let a = 10000;
    // throw 的值会传递给 catch
    throw a;
  }
  if (a < 10 && a >= 5) throw "这个数小于10";
  if (a < 15 && a >= 10) throw "这个数小于15";
} catch (msg) {
  alert(msg);
}

 

try catch的缺点

1.try catch耗性能
2.try catch捕获不到异步错误
3.try catch可能会导致报错点更模糊

 

报错顺序

a.try里面的代码报错的时候,catch里面的代码才会执行,finally里面的代码永远会执行
b.catch和finally里面,正常的代码会从上到下顺序执行
c.如果只是catch里面代码出错,则报catch里面的错误
d.如果catch和finally都出错则会报finally里面的错误

 

使用场景

  为容易出错的,容易产生兼容问题的代码段加上try..catch。合处理那些我们无法控制的错误,如I/O操作,后端java读取I/O操作比较多比如读数据库,所以用try catch比较多。前端可以用在上传图片或async await同步调接口。

 

注意

  try catch语句,作为JavaScript中处理异常的一种标准方式。但是在前端js代码中很少看到try catch语句,并不是所以代码都需要加try catch来作得不偿失的“保险”。

ES6中Try...Catch....finally 异常捕获

原文:https://www.cnblogs.com/ranyihang/p/try.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!