En langage Go, la gestion des erreurs est très importante. Go encourage les gens à vérifier les erreurs après avoir créé une méthode .
La gestion des erreurs
La gestion des erreurs dans GORM est différente du code Go idiomatique en raison de l'API chaînée de GORM, mais elle reste assez simple.
Si des erreurs se produisent, GORM le définira sur * gorm.DB
le Error
champ , que vous pourrez vérifier comme ceci :
if err := db.Where("name = ?", "jinzhu").First(&user).Error; err != nil {
// error handling...
}
ou
if result := db.Where("name = ?", "jinzhu").First(&user); result.Error != nil {
// error handling...
}
Erreur ErrRecordNotFound
Lorsque les méthodes First, Last et Take ne trouvent pas l'enregistrement, Gorm renvoie l'erreur ErrRecordNotFound. Si plusieurs erreurs se produisent, vous pouvez utiliser error.Is pour déterminer si l'erreur est ErrRecordNotFound , par exemple :
// 检查错误是否为 RecordNotFound
err := db.First(&user, 100).Error
errors.Is(err, gorm.ErrRecordNotFound)