gpt4 book ai didi

javascript - Bluebird中的捕获错误类型不起作用

转载 作者:行者123 更新时间:2023-12-03 07:44:21 25 4
gpt4 key购买 nike

我有一个自定义错误类:

class NetworkError extends Error {
constructor() {
super('Network Error');
this.name = 'NetworkError';
}
}

我想专门处理它:
import {NetworkError} from '../../common/errors';
someFunc().catch(NetworkError, err => {
// this is missed
}).catch(err => {
// this is hit
});

但是它跳过了我的自定义捕获,而达到了常规捕获。如果我这样更改它,它将起作用:
someFunc().catch({name: 'NetworkError'}, err => {
// this is hit
}).catch(err => {
// this is missed
});

显然,第一种方法是首选。我在这里想念什么?

最佳答案

正如@loganfsmyth在问题注释中建议的那样,这是Babel的限制。这个答案可以解决问题:

Why doesn't instanceof work on instances of Error subclasses under babel-node?

关于javascript - Bluebird中的捕获错误类型不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45823610/

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