, не видя структуру вашего кода, трудно помочь, но если у вас есть запрос в функции, которая возвращает ваш основной скрипт, вы можете перехватить его там, обработать ошибку, а затем выбросить краткую и не содержащую данных ошибку обратно в вызывающая функция.
// This is pseudocode
const updateEmail = (db, email, id) => db.query('query...')
.then(data => /* process things */)
.catch(err => {
if (err.errno === 1062) {
throw new Error('Email already exists');
}
});
Я не уверен, что 500 - это правильный код для использования в данном конкретном случае, так как это не ошибка сервера как таковая. Это было бы предпочтением, хотя в зависимости от того, как структурированы другие ваши запросы.