Basé sur le framework express, le projet de développement du module node-mysql doit exécuter des instructions SQL dans le projet. Si l'instruction SQL est anormale, le programme plantera directement.
conn.query(sql,function (err, result) {}
如果這里的事情了因為前端提交方式的原因(或者是別人的非法提交),sql語句變?yōu)榱?SELECT * FROM prod WHERE prodName LIKE'%undefined%' LIMIT NaN,10;
這樣的話,node控制臺會拋出:throw err; // Rethrow non-MySQL errors
node就崩潰了,請問有什么好的方式處理sql異常?
Traitez votre SQL et définissez des valeurs illégales comme valeurs par défaut
Essayez d'ajouter ce traitement à la fin du fichier de démarrage
app.js
app.use(function (err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: {}
});
});
Ensuite, vous devez vérifier l'API du connecteur mysql. Généralement, il doit disposer d'un mécanisme de gestion des exceptions.
J'utilise la mangouste. Ajoutez la gestion des exceptions lors de la déclaration de la connexion.
mongoose.connection.on('error', function (err) {
console.error('Mongoose connection error: ' + err);
});