From 707d70a542e55f354341e9bd0b925976d24e0a82 Mon Sep 17 00:00:00 2001 From: Saeid Kanishka Date: Fri, 10 Mar 2023 09:51:27 +0100 Subject: [PATCH] refactor: translate error only when it is not nil (#6133) * refactor: translate error only when it is not nil * refactor: fix the error flow * refactor: update the error if checks * Update gorm.go --------- Co-authored-by: Saeid Saeidee Co-authored-by: Jinzhu --- gorm.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gorm.go b/gorm.go index b5d98196..9a70c3d2 100644 --- a/gorm.go +++ b/gorm.go @@ -347,14 +347,16 @@ func (db *DB) Callback() *callbacks { // AddError add error to db func (db *DB) AddError(err error) error { - if errTranslator, ok := db.Dialector.(ErrorTranslator); ok { - err = errTranslator.Translate(err) - } + if err != nil { + if errTranslator, ok := db.Dialector.(ErrorTranslator); ok { + err = errTranslator.Translate(err) + } - if db.Error == nil { - db.Error = err - } else if err != nil { - db.Error = fmt.Errorf("%v; %w", db.Error, err) + if db.Error == nil { + db.Error = err + } else { + db.Error = fmt.Errorf("%v; %w", db.Error, err) + } } return db.Error }