gpt4 book ai didi

javascript - 在异步函数上将 catch 上的异常重新抛出到上层

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

在异步函数中将错误向上层抛出

这个

async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
try {
return await this.dataAccess.getAccessToken()
} catch (error) {
throw error
}
}

对比这个

async create(body: NewDevice, firstTry = true): Promise<RepresentationalDevice> {
return await this.dataAccess.getAccessToken()
}

我的意思是在上层的最后我无论如何都必须捕获错误并且捕获上根本没有任何修改

这两种方法是否相同?我可以使用第二种方法而不会出现错误处理问题吗?

最佳答案

这与异步函数无关。捕获一个错误只是为了重新抛出它与一开始就没有捕获它是一样的。即

try {
foo();
} catch(e) {
throw e;
}

foo();

基本上是等价的,除了堆栈跟踪可能不同(因为在第一种情况下,错误是在不同的位置抛出的)。

关于javascript - 在异步函数上将 catch 上的异常重新抛出到上层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45868307/

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