我有一个打开数据库连接并返回它的函数。还是发生错误,如果发生了什么:
OpenDbConnection(connectionString string, logSql bool) (*gorm.DB, error)
在此功能中,我正在使用记录器:
logger := zap.NewExample().Sugar()
defer logger.Sync()
方法Sync()
返回error
,而我忽略了此错误。
在这种情况下最好的策略是什么?
我可以重写代码以避免linter错误,但是我仍然忽略错误:
logger := zap.NewExample().Sugar()
defer func() {
_ = logger.Sync()
}()
我可以返回错误,但是我有正确的数据库连接,我需要在调用函数中分析此错误以了解该怎么做。
答案 0 :(得分:3)
您可以命名返回的错误变量,并在函数内的任何位置进行初始化。
检查此测试代码here
OpenDbConnection(connectionString string, logSql bool) (db *gorm.DB, err error) {
logger := zap.NewExample().Sugar()
defer func() {
err = logger.Sync()
}()
// some logic here
return db, err
}