javascript - ¿Dónde manejar el error en una secuencia de consulta de consulta ORM?
express sequelize.js (1)
Si desea manejar el error específico, adjunte un controlador de .catch
models.Item.create({
title : req.body.title,
UserId : req.body.UserId
}).then(function(item){
res.json({
"Message" : "Created item.",
"Item" : item
});
}).catch(function (err) {
// handle error;
});
Si desea manejar los errores de manera más general (es decir, mostrar un buen mensaje de error, en lugar de matar a su servidor, es posible que desee echar un vistazo a la excepción no controlada)
https://nodejs.org/api/process.html#process_event_uncaughtexception
Si está utilizando Express, también contiene algunas funciones de manejo de errores http://expressjs.com/en/guide/error-handling.html
Estoy usando Sequelize ORM en Node / Express.
Tengo dos tablas, usuario y artículo. El artículo tiene una clave externa vinculada a UserId.
Cuando intento crear un elemento con un ID de usuario que no es válido (no está presente en la tabla de usuarios), se lanza un "SequelizeForeignKeyConstraintError" y provoca un bloqueo de la aplicación debido a que no se ha manejado.
El problema que tengo es este:
¿Dónde manejo el error?
Aquí está mi código.
.post(function(req,res){
models.Item.create({
title : req.body.title,
UserId : req.body.UserId
}).then(function(item){
res.json({
"Message" : "Created item.",
"Item" : item
});
});
});