如何停止使用 protobuf3 打印错误消息“无法解析类型的消息,因为它缺少必填字段”
Posted
技术标签:
【中文标题】如何停止使用 protobuf3 打印错误消息“无法解析类型的消息,因为它缺少必填字段”【英文标题】:How can I stop printing the error message "Can't parse message of type because it is missing required fields" with protobuf3 【发布时间】:2018-08-16 02:28:44 【问题描述】:我只想在记录某些内容时从字符串中解析一个实例,而不关心结果。
但是当我将 protobuf 更新到 3.5.0 时,烦人的消息总是打印到终端(stderr):
“无法解析类型的消息,因为它缺少必填字段”
它的字段必须是必需的。
如何停止打印错误信息?
【问题讨论】:
【参考方案1】:选项:
使用optional
而不是required
提供缺失的数据
钩住stderr
并发送给nul
【讨论】:
【参考方案2】:据我所知,protobuf 库本身并不直接打印到 stderr。相反,错误消息通过 API 返回,例如message->InitializationErrorString()
。
看来是您自己的代码将此消息打印到 stderr,或者您可能启用了某些调试模式。
您可以尝试将调试器挂钩添加到打印以查看它的来源。
【讨论】:
以上是关于如何停止使用 protobuf3 打印错误消息“无法解析类型的消息,因为它缺少必填字段”的主要内容,如果未能解决你的问题,请参考以下文章