If语句检查错误类型

If statement check type of error

本文关键字:类型 错误 检查 语句 If      更新时间:2023-09-26

我得到以下错误:

{ [TokenExpiredError: jwt expired]
  name: 'TokenExpiredError',
  message: 'jwt expired',
  expiredAt: Wed Sep 30 2015 16:44:44 GMT+0200 (CEST) }

我尝试了以下操作,但没有成功:

    try {
        // ...code
    } catch (err) {
        if (typeof err === 'TokenExpiredError') {
            // ...do stuff
        }
    }

我想检查对象类型。我知道我可以检查消息,但是我想学习如何检查错误对象的对象类型。

实际对象类型是err.name的值,需要检查

但是如果你想使用instanceof:

try {
    // ...code
} catch (err) {
    if (err instanceof TokenExpiredError) {
        // ...do stuff
    }
}

假设TokenExpiredError之前定义过(作为构造函数)。否则以Error为例。

注意:不要使用quote,因为你传递了一个对函数的引用