google-app-engine - Golang - AppEngine Datastore GetMulti() 在返回 MultiError 时是否返回无效数据?

标签 google-app-engine go error-handling google-cloud-datastore

我正在调用 AppEngine 数据存储区以获取可能存储也可能不存储的数据;我不关心多重错误,除非所有多重错误条目都返回错误。

err := datastore.GetMulti(context, keys, data)
if err_entries, ok := err.(appengine.MultiError); ok {
    for _, err_entry := range err_entries {
        if err_entry == nil {
            return data, nil
        }
    }
}
return data, err

我的问题是,假设多重错误的一个 err_entry 为 nil,返回的数据是否将包含与多重错误中的错误匹配的键的错误、空或损坏的数据条目。目前它按预期工作,但我不知道可能会出现什么潜在的异常,或者这是否由于某些惯用的原因而可怕。

最佳答案

来自https://developers.google.com/appengine/docs/go/reference#MultiError :

MultiError is returned by batch operations when there are errors with particular elements.

Errors will be in a one-to-one correspondence with the input elements; successful elements will have a nil entry.

它永远不会有数据,每个 i, err_entry 要么为零,要么是链接到 data[i] 的错误。

关于google-app-engine - Golang - AppEngine Datastore GetMulti() 在返回 MultiError 时是否返回无效数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25706300/

相关文章:

ios - 谷歌应用引擎。 Google 应用引擎将 POST 请求视为 GET

c# - 使用身份MVC C#已存在使用身份用户名

go - 访问多对多表数据

powershell - 从Get-Childitem捕获无法访问的文件夹的路径

c# - 母版页错误页中的ASP.NET自定义错误处理

javascript - GAE Channel API - 通过 Javascript 检查套接字是否处于事件状态

google-app-engine - 去 appengine : panic: proto: duplicate enum registered: appengine. LogServiceError_ErrorCode

python - App Engine、appcfg 和保存上传凭据

go - 如何在 Go 中定义自己的类型转换器?

go - 如何在运行时读取文本文件