当前位置: 首页 > 知识库问答 >
问题:

如何避免仅使用顶层try/catch的UnhandledPromiseRejectionWarning?

锺离浩慨
2023-03-14

理想的情况下,我希望我的应用程序只有顶级的try/catch,大多数的例外只是冒出来。但有了它,您将得到UnhandledPromiseRejectionWarning。

function example() {
  return new Promise((resolve, reject) => {
    reject("test reject");
  });
}

try {
  example().then(r => console.log(`.then(${r})`));
} catch (e) {
  console.error(`try/catch(${e})`);
}

我的问题是,而不是再放一个。后面抓。那么,有没有办法绕过?谢谢!

共有1个答案

锺离嘉茂
2023-03-14

您可以等待您的承诺(在异步函数中,但可以设置为顶级),以便您的catch块可以捕获异常,或者创建一个全局unhandledpromise处理程序。

null

function example() {
    return new Promise((resolve, reject) => {
      reject("test reject");
    });
  }
  
  (async () => {
  try {
    await example()
  } catch (e) {
    console.error(`try/catch(${e})`);
  }
})()

  
 类似资料:
  • 问题内容: 在某些情况下,我需要将字符串转换为float或其他一些数值数据类型,但是有可能会得到一些不可转换的值,例如“-”或“ /”,并且我无法事先验证所有值以将其删除他们。并且我想避免对此问题使用try / catch,还有其他方法可以在java中进行正确的转换吗?类似于C#吗? 问题答案: 我能想到的最简单的事情是。但是,此方法需要为每个字符串提供一个新的Scanner实例。 接下来,您可以

  • 问题内容: 好的,这可能是一个非常愚蠢的问题,但是我发现关于此的PHP文档以及一些Internet搜索并没有使我对此有所任何了解。 什么时候应该使用try-catch块来改进我的应用程序? 我读过有人说我们应该仅使用try- catch块来防止致命错误。我读过别人的话说,我们应该只在意外错误上使用它(等什么?意外?如果它们是意外错误,如何使用try- catch防止它们出现?我应该将所有应用程序代

  • 我如何避免在这里过度使用试捕?我如何简化裁员

  • 你好,我有一个基于spring boot的后端,我们正在使用自己的库将JPA实体转换为DTO的(库基于反射工作)。问题是,我们将服务层直接注入到一些映射器中。假设我有一个和。UserDto有一个名为avatar的字段,化身存储在中。因此,为了构建UserDto,我们使用如下代码。 我不喜欢这种方法,因为Mapper必须对服务层一无所知。但是,这个映射器也被其他映射器使用。如果我想返回一个Order

  • 问题内容: 在确定文件是否存在时,使用try语句如何避免“竞争条件”? 我之所以这样问是因为高度支持的答案0)(更新:已删除)似乎暗示使用会创造机会,否则这种机会就不会存在。 给出的示例是: 但与以下内容相比,我不了解如何避免出现竞争状况: 调用如何使攻击者能够处理他们无法完成的文件? 问题答案: 比赛条件,当然,你的程序和文件上运行一些其他的代码之间(竞争状态总是需要至少两个平行的进程或线程,看