# 處理錯誤
在 Go 中,處理錯誤是很重要的。
我們鼓勵您在調用任何 [Finisher 方法](https://github.com/go-gorm/gorm/blob/master/finisher_api.go) 后,都進行錯誤檢查
## 處理錯誤
GORM 的錯誤處理與常見的 Go 代碼不同,因為 GORM 提供的是鏈式 API。
如果遇到任何錯誤,GORM 會設置 `*gorm.DB` 的 `Error` 字段,您需要像這樣檢查它:
~~~
?if err := db.Where("name = ?", "jinzhu").First(&user).Error; err != nil {
? ?// 處理錯誤...
?}
~~~
~~~
?if result := db.Where("name = ?", "jinzhu").First(&user); result.Error != nil {
? ?// 處理錯誤...
?}
~~~
~~~
?// 檢查錯誤是否為 RecordNotFound
?err := db.First(&user, 100).Error
?errors.Is(tx.Error, ErrRecordNotFound)
~~~
[錯誤列表參考](https://github.com/go-gorm/gorm/blob/master/errors.go)
## Errors
當 `First`、`Last`、`Take` 方法找不到記錄時,GORM 會返回 `ErrRecordNotFound` 錯誤。如果發生了多個錯誤,你可以通過 `errors.Is` 判斷錯誤是否為 `ErrRecordNotFound`,例如:
## ErrRecordNotFound
或者