Go 言語ではエラー処理が非常に重要です。Go では、 メソッドを作成した後にエラーをチェックすることを推奨しています。
エラー処理
GORM のエラー処理は、GORM の連鎖 API により慣用的な Go コードとは異なりますが、それでもかなり簡単です。
エラーが発生した場合、 GORM はそれを field に設定します 。これは次のように確認できます。* gorm.DB
Error
if err := db.Where("name = ?", "jinzhu").First(&user).Error; err != nil {
// error handling...
}
または
if result := db.Where("name = ?", "jinzhu").First(&user); result.Error != nil {
// error handling...
}
ErrRecordNotFound エラー
First、Last、Take メソッドでレコードが見つからない場合、Gorm は ErrRecordNotFound エラーを返します。複数のエラーが発生した場合は、errors.Is を使用して、エラーが ErrRecordNotFound であるかどうかを判断できます。次に例を示します。
// 检查错误是否为 RecordNotFound
err := db.First(&user, 100).Error
errors.Is(err, gorm.ErrRecordNotFound)