Używam Sequelize ORM w węźle/Express.Gdzie obsłużyć błąd w kontynuacji instrukcji zapytania ORM?
Mam dwie tabele, Użytkownik i przedmiot. Produkt ma klucz obcy powiązany z UserId.
Kiedy próbuję utworzyć element z nieprawidłowym ID użytkownika (nieobecny w tabeli Użytkownicy), generowany jest komunikat "SequelizeForeignKeyConstraintError" i prowadzi do awarii aplikacji z powodu nieobsłużonego.
Mam problem jest taki:
Gdzie mogę obsłużyć błąd?
Oto mój kod.
.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
});
});
});
Jeśli chcesz złapać konkretny błąd SequelizeForeignKeyConstraintError można przekazać go do funkcji catch '.catch (Sequelize.SequelizeForeignKeyConstraintError, funkcji (ERR) {// uchwyt onky kluczy obcych błędów; }); ' –
czy możliwe jest obsłużenie wszystkich błędów ORM przez status HTTP 500 i domyślną obsługę błędów w trybie ekspresowym? tak naprawdę nie chcę dodawać '.catch (err => {next (err)});' ilekroć trafiam do bazy danych. –