如何在节点后置中优雅地处理"SASL: SCRAM-SERVER-FIRST-MESSAGE ..."?



我正在使用Pool来解析PoolClient对象。我知道为什么会发生错误,我只是没有提供密码,但无论如何,我想优雅地处理身份验证错误。

我试着:

  • 在try-catch中包裹pool.connect()
  • on('error')添加到PoolPoolClient对象中。

这是lib本身的一个众所周知的问题,不幸的是它一直没有解决- github问题参考

如果你在express中使用这个,我的建议是有一个全局错误处理程序,它捕获所有未处理的异常,它应该捕获冒泡错误。像这样-

app.use(function (err, req, res, next) {
console.error(err.stack)
return res.status(500).send({err});
});