Node/ExpressでSequelize ORMを使用しています。sequelize ORMクエリ文のエラーを処理する場所は?
私は2つのテーブルUserとItemを持っています。アイテムにUserIdにリンクされた外部キーがあります。
無効なUserId(Userテーブルには存在しません)を持つアイテムを作成しようとすると、「SequelizeForeignKeyConstraintError」がスローされ、未処理のためにアプリケーションがクラッシュします。
問題は次のとおりです。
エラーはどこで処理できますか?
ここに私のコードです。
.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
});
});
});
あなたが特定のSequelizeForeignKeyConstraintErrorエラーをキャッチしたい場合は、{ は//外部キーエラーをonky扱うキャッチ機能 '.catch(Sequelize.SequelizeForeignKeyConstraintError、機能(ERR)に渡すことができますを扱います。 }); ' –
HTTP 500ステータスとすべてのORMエラーをexpressで処理することは可能ですか?実際に私はデータベースにアクセスするたびに '.catch(err => {next(err)});'を追加したくありません。 –