首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang mgo误差

Golang mgo误差
EN

Stack Overflow用户
提问于 2013-10-09 09:26:24
回答 2查看 3.2K关注 0票数 4

乐高返回的错误是否与QueryError或ErrNotFound不同?数据库连接错误是什么?

对与ErrNotFound不同的错误进行恐慌并在http处理程序堆栈的顶部进行恢复是一种很好的做法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-09 21:36:39

mgo返回的一组错误不受约束,因为它在下面执行了许多操作,这些操作也可能返回错误(DNS解析、连接建立、超时等)。因此,使用mgo处理错误的正确方法与大多数地方相同:处理您确实知道的错误,并对您不了解的错误进行处理。良好的退出包括消除任何本地副作用(关闭/删除本地创建的文件等),然后将错误返回给调用方,可能是使用自定义上下文信息进行修饰或包装。

我不会对这样的错误感到恐慌。恐慌通常发生在不正常的情况下,当开发人员对API做了一些错误,或者环境受到了严重的破坏,最好的做法就是完全停止,例如。与数据库的连接(或任何与网络相关的连接)应该每隔一段时间就会下降,并适当地处理,而不仅仅是记录无法区分的崩溃。

如果您有更多的细节,并想进一步谈谈,请来到邮件列表。

票数 5
EN

Stack Overflow用户

发布于 2013-10-09 10:04:39

我相信你可以用LastError检查任何错误。大多数错误返回函数返回一个应该在函数返回时检查的标准围棋误差

通常,在Go中,在求助于恐慌/恢复之前,您可能需要一些非常特殊的用例。最好的做法是在错误出现时处理它们。

有关更多信息,请参见错误处理和转到围棋博客推迟,恐慌,恢复

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

https://stackoverflow.com/questions/19268009

复制
相关文章

相似问题

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