Promise捕获异常这里有两种方式

第一种单独对 .then() 中指定异常处理函数(第一种一般用在,希望捕获异常然后不影响接下里Promise的执行)

我们只需要在 .then() 中添加两个function就好了,第二个是用来处理失败的情况。

第二种使用.catch来实现全部捕获(第二种一般用在,当一个Promise发生了异常,剩下的Promise都不在执行)

在 Promise 中发生的未捕获异常不会被 window.onerror 捕获,如果你的页面使用了 前端异常监控平台 这样的东西,会导致无法自动收集未捕获的 Promise 异常。

比如你在 Promise 中,在不主动 catch 的情况下,如果使用 throw new Error() 或者 reject(‘error’),都会变成 Uncaught (in promise) Error 而不会被 window.onerror 捕获。

解决

如果你想要在全局捕获这类的错误,有两种方法:

1、改写 Promise,使用一个非系统原生的 Promise 库,并改写内部异常捕获的逻辑,将异常抛出。(适合框架开发者)

2、在 Promise 中异步抛出异常,比如 setTimeout(function(){ throw new Error() }) 来抛出想被全局捕获的异常。(适合业务开发者)

想要了解跟多关于前端培训课程内容

promise 中的异常捕获_Promise异常捕获相关推荐

  1. promise 中的异常捕获_promise 中的错误处理

    js 中的错误处理. 分为三块吧. 第一:普通的js中 错误处理. 第二: promise 中的错误处理 第三: async 中的错误处理 第一: 普通的js 的错误处理 说普通是因为比较简单,算一个 ...

  2. WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常。即使你捕获了异常,仍有可能一直保持连接。...

    WCF客户端不能用在Using语句块中,因为它可能会抛出不可预知的异常.即使你捕获了异常,仍有可能一直保持连接.让我们来看看形成这一问题的历史原因,并提出几个补救措施. 在.NET中,资源管理的基础就 ...

  3. java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用

    Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...

  4. 加了try的情况下线程中抛出未捕获的异常

    一.问题描述 项目中线程中明明加了try catch 捕获异常,但是一启动就报未捕获的异常导致整个程序崩溃. 下面是windows中的错误日志. Application: 岗亭收费.exe Frame ...

  5. java异常在哪一层捕获_当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 ( )结构 捕获,或者在方法的 ( ) 中声明_学小易找答案...

    [填空题]当异常已经被定义时,必须通过( ) 语句来处理它. [填空题]Catch 子句包含( )的程序段 [单选题]下列java语言的常用异常类中,属于检测异常的是() [单选题]自定义异常类时,可 ...

  6. python中异常的处理及断言,包括异常类型、异常捕获、主动跑出异常和断言

    一.异常类型介绍 什么是异常?异常即是一个事件,该事件会在程序执行过程中发生,会影响程序的正常执行,一般情况下,在python无法正常处理程序时就会发生一个异常.异常是python对象,表示一个错误. ...

  7. java 异常 过滤器_在过滤器Filter中抛出一个全局异常可以捕获的异常

    1.创建自定义异常 public class TokenException extends RuntimeException { private static final long serialVer ...

  8. python捕获全局异常统一管理_python中如何用sys.excepthook来对全局异常进行捕获、显示及输出到error日志中...

    使用sys.excepthook函数进行全局异常的获取. 1. 使用MessageDialog实现异常显示: 2. 使用logger把捕获的异常信息输出到日志中: 步骤:定义异常处理函数, 并使用该函 ...

  9. java捕获子程序异常,防止异常与捕获Java中的异常

    我想知道其他SOers在实践中如何处理和/或防止异常. 在什么情况下你会阻止例外,以及如何? 在什么情况下你会捕获异常? 我通常会根据if(foo!=null) {...}来防止'NullPointe ...

最新文章

  1. anaconda安装scrapy失败的解决方法(2020.7.7)
  2. WPF messagebox生命周期的探讨
  3. TestInside640-801 v11(神州testv11)题库视频讲解(全部上传完毕)
  4. 在echarts图表外调用echarts的下载功能以及echarts getDataURL图表数据不显示的问题的解决方案...
  5. Disruptor并发框架--学习笔记
  6. 获取clientheight为0_用10行python代码获取全国城市交通生活圈
  7. 快速排序quicksort算法优化
  8. Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法
  9. python学了真的很有用吗-学习Python真的有必要参加培训吗?老男孩Python学习机构...
  10. modis数据产品行列号以及数据行列号
  11. Julia :迎接0.6的到来
  12. 库卡 KUKA 机器人仿真软件sim pro 教程
  13. 电脑无线网卡安装不了驱动怎么办?
  14. 仿微信做个极速二维码扫描功能
  15. 【ML】经典降维算法 t-SNE
  16. 计算机桌面锁定怎么解除,电脑屏幕被锁定怎么解锁_电脑锁定屏幕如何取消-win7之家...
  17. 安卓桌面软件_金其利银河麒麟桌面操作系统
  18. 【android编程】第五讲-Android高级组件
  19. 记录谷歌gn编译时碰到的一个错误“I could not find a “.gn“ file ...”
  20. 【腾讯T6技术专家时间管理法】工作中别做这七件浪费时间的事了!

热门文章

  1. Git命令行操作详解
  2. Docker容器安装ssh
  3. 计算机高级系统设置无法设置,win10系统打开高级设置的详细方法
  4. 利用Python提取视频中的字幕(文字识别)
  5. 几行Python代码帮你生成精美词云图
  6. 淋巴细胞转化中PHP的作用,淋巴细胞转化试验范围|意义
  7. 小基础设施团队的分工思路
  8. STL教程:C++ STL快速入门
  9. 分数求和的三种方法(1/1-1/2+1/3-1/4+1/5+...+1/n)
  10. 论文Pyramid Attention Network for Semantic Segmentation笔记