javascript express sequelize.js

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 }); }); });