卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章35438本站已运行396

如何处理 Go 的 firebase admin sdk 错误?

如何处理 go 的 firebase admin sdk 错误?

php小编鱼仔将为大家介绍如何处理Go的Firebase Admin SDK错误。Firebase Admin SDK是一个强大的工具,用于在后端管理Firebase项目。然而,当使用该SDK时,错误可能会发生,可能会影响应用程序的正常运行。因此,了解如何处理这些错误是至关重要的。本文将为您提供一些有用的技巧和建议,帮助您应对Go的Firebase Admin SDK错误,并保持应用程序的稳定性和可靠性。

问题内容

go 新手,尝试了解如何访问错误详细信息。我已经创建了一个用户,现在我预计会收到“email-already-exists”错误:

fbUser, err := s.auth.CreateUser(ctx, fbUserParams)
    if err != nil {
        return nil, errors.New("[email] already exists") // <- it could be any other error, and I want to be able to handle it
    }

这是我在调试器中看到的内容:

如何处理该错误以便从中获取代码?

解决方法

我认为最好的选择是使用 errors.as 函数。您可以在这里了解更多信息:https://www.php.cn/link/aa5fb316032860bad4c453c010a2c859
google firebase 返回的错误类型为 firebaseerror,涉及两个属性:codestring。您可以尝试使用以下代码片段:

fbUser, err := s.auth.CreateUser(ctx, fbUserParams)
if err != nil {
    var firebaseErr *FirebaseError
    if errors.As(err, &firebaseErr) {
        // here you can access "Code" and "String"
    } else {
        return nil, errors.New("[email] already exists")
    }
}

感谢这段代码,您应该能够管理您需要的内容。注意正确导入提供firebaseerror类型的包。也许先阅读 firebase 文档上的一些内容。
希望这有帮助!

卓越飞翔博客
上一篇: 从 golang 连接到 rethinkDB 时出错
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏