如何使用 sequelize 具体错误?

how to use sequelize specific errors?

如何导入 sequelize 错误? 我想使用 SequelizeUniqueConstraintError) 等特定错误进行错误处理。

try {
  query...
} catch(e){
  if (e instanceof SequelizeUniqueConstraintError) { 
    next(new ResourceError(e.toString(), 401))
  } else {
    next(new ResourceError(e.toString(), 500))
  }
}

我收到 SequelizeUniqueConstraintError is not defined,但我似乎无法浏览 sequelize 实例以查找任何错误 类?

检查 SequelizeUniqueConstraintErrorsource code。 class 名为 UniqueConstraintErrorSequelizeUniqueConstraintErrorname 属性 的值。 不是 JavaScript class。所以你应该使用 UniqueConstraintError.

例如

import { UniqueConstraintError } from 'sequelize';

try {
  throw new UniqueConstraintError({ message: 'test unique constraint' });
} catch (e) {
  if (e instanceof UniqueConstraintError) {
    console.log(401);
  } else {
    console.log(500);
  }
}

执行结果:

401

包版本:"sequelize": "^5.21.3"