gpt4 book ai didi

javascript - 如何轻松处理javascript异步函数中的所有错误?

转载 作者:搜寻专家 更新时间:2023-11-01 04:33:46 24 4
gpt4 key购买 nike

try/catch 无法处理异步函数中的错误。
当然,如果我在每个异步函数中写try/catch也是可以处理的,但是不太现实。

window.onerror 可以处理异步函数中的错误。
但是 window.onerror 捕获窗口中的所有错误。
我只想处理窗口中 javascript 应用程序(例如游戏)的异步(以及同步)函数中的所有错误。
如果仅在 javascript 应用程序中发生错误,我想显示错误消息并停止应用程序。
我不想对应用程序中的错误执行任何操作。

最佳答案

听起来好像无法区分脚本错误和其他错误。如果您只想捕获您自己的 异常类型,那么您可以定义自定义异常构造函数并从中派生所有您自己的异常。然后让 window.onerror 检查对象是否派生自您的自定义构造函数(如果是,则返回 true,以抑制错误,否则返回 false)。

我认为执行此操作的最可靠方法是将每个异步函数包围在 try/catch 中(即使您说您不想这样做)。你可以把它变成成语;在 try/catch 中包围每个异步函数,并让 catch block 调用适当处理错误的函数。或者更好的是,制作一个习惯用法,其中异步函数采用附加“失败”回调,如果发生错误,它会调用该回调。这样,异步函数的调用者就可以指定一个异步错误处理程序。 (一方面,GWT 框架使用了这种方法。)

关于javascript - 如何轻松处理javascript异步函数中的所有错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6620207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com