我正在调用 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/