今回はGormでのエラーハンドリングに関してです。
Gormではエラーの際にerrorオブジェクトが返りますが、レコードが見つからない場合のみRecordNotFoundというエラーにて判定することができます。
if err := db.Where("name = ?", "jinzhu").First(&user).Error; gorm.IsRecordNotFoundError(err) {
// レコードが見つかりません
}
エラーハンドリング
Effective error handling is a cornerstone of robust application development in Go, particularly when interacting with databases using GORM. GORM’s approach to e...
gorm.IsRecordNotFoundError(err)
このように記述するとRecordNotFoundが判定できます。
なお、他のエラーに関しれは判定できない(エラーの文字解析をするしかない)ようです。
Goおすすめ書籍
プログラミング言語Goは、Go言語を詳細に学ぶ一冊としては現在出版されている本では一番だと思います。
コメント