Как я могу прекратить печатать сообщение об ошибке "Не удается разобрать сообщение типа, потому что в нем отсутствуют обязательные поля" с protobuf3
Я просто хочу анализировать экземпляр из строки при регистрации чего-либо, и мне плевать на результат.
Но когда я обновляю protobuf до 3.5.0, раздражающее сообщение всегда печатается на терминал (stderr):
"Не удается разобрать сообщение типа, потому что в нем отсутствуют обязательные поля"
Его поля обязательны для заполнения.
Как я могу прекратить печатать сообщение об ошибке?
2 ответа
Опции:
- сделай это
optional
вместоrequired
- предоставить недостающие данные
- крюк
stderr
и отправить егоnul
Насколько я знаю, сама библиотека protobuf напрямую не печатает в stderr. Вместо этого сообщения об ошибках возвращаются через API, как message->InitializationErrorString()
,
Таким образом, кажется, что это ваш собственный код, который печатает это сообщение в stderr, или, возможно, вы включили некоторый режим отладки.
Вы можете попытаться добавить отладочный крючок к отпечатку, чтобы увидеть, откуда он.