Gorm エラー処理

Go 言語ではエラー処理が非常に重要です。Go では、 メソッドを作成した後にエラーをチェックすることを推奨しています。

エラー処理


GORM のエラー処理は、GORM の連鎖 API により慣用的な Go コードとは異なりますが、それでもかなり簡単です。

エラーが発生した場合、 GORM はそれを field  に設定します 。これは次のように確認できます。* gorm.DBError

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)

おすすめ

転載: blog.csdn.net/qq_34556414/article/details/132837025