首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟处理错误

延迟处理错误
EN

Stack Overflow用户
提问于 2019-08-31 17:56:36
回答 1查看 14.9K关注 0票数 16

我有一个打开db连接并返回它的函数。或者错误,如果发生了什么:

代码语言:javascript
复制
OpenDbConnection(connectionString string, logSql bool) (*gorm.DB, error) 

在这个函数中,我使用的是记录器:

代码语言:javascript
复制
logger := zap.NewExample().Sugar()
defer logger.Sync()

方法Sync()返回error,而我忽略了这个错误。

在这种情况下,最好的策略是什么?

我可以重写代码以避免linter错误,但我仍然忽略错误:

代码语言:javascript
复制
logger := zap.NewExample().Sugar()
defer func() {
    _ = logger.Sync()
}()

我可以返回错误,但是我有正确的db连接,我需要在调用函数中分析这个错误,以了解要做什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-31 18:40:59

您可以命名返回的错误变量,并在函数中的任何位置初始化。

检查此测试代码这里

代码语言:javascript
复制
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

}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57740428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档