В приложении node.js я пытаюсь выслушать любые ошибки, которые Knex может выдать для выполнения дополнительной логики c сверху. Я использую Knex поверх базы данных mysql.
В документации есть 3 слушателя:
//From the Knex documentation
knex.select(['NonExistentColumn'])
.from('users')
.on('query-error', function(error, obj) {
app.log(error);
})
.then(function() { // ... })
.catch(function(error) {
// Same error object as the query-error event provides.
});
Однако ошибка-запрос, похоже, не слушает ER_ACCESS_DENIED_ERROR событий, например.
Есть ли выход из коробки для прослушивания ER_ACCESS_DENIED_ERROR событий?
Одним из решений является выполнение, чтобы обернуть выполнение запросов knex в try Catch и явно обработать ошибку.