gpt4 book ai didi

Golang mgo 错误

转载 作者:IT王子 更新时间:2023-10-29 00:38:09 26 4
gpt4 key购买 nike

可以mgo返回不同于 QueryError 或 ErrNotFound 的错误?数据库连接错误怎么办?

对不同于 ErrNotFound 的错误进行 panic 并在 http 处理程序堆栈的顶部恢复并使用状态为 500 的漂亮响应之类的东西恢复是否是一个好习惯?

最佳答案

mgo 返回的错误集不受限制,因为它在底层执行许多操作,这些操作也可能返回错误(DNS 解析、连接建立、超时等)。因此,使用 mgo 处理错误的正确方法与大多数地方相同:处理您确实知道并具有自定义逻辑的错误,并摆脱您不知道的错误。良好的救助包括撤消任何本地副作用(关闭/删除本地创建的文件等),然后将错误返回给调用者,可能使用自定义上下文信息进行修饰或包装。

我不会对此类错误感到 panic 。 panic 通常是针对异常情况,例如,当开发人员对 API 做错了什么,或者环境受到严重破坏时,最好的做法是完全停止。与数据库(或任何与网络相关的连接)的连接应该预期每隔一段时间就会中断,并进行适当的处​​理,而不是仅仅记录一个无法区分的崩溃。

如果您有更多详细信息并想进一步讨论,请访问邮件列表。

关于Golang mgo 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19268009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com