Как я могу прекратить печатать сообщение об ошибке "Не удается разобрать сообщение типа, потому что в нем отсутствуют обязательные поля" с protobuf3

Я просто хочу анализировать экземпляр из строки при регистрации чего-либо, и мне плевать на результат.

Но когда я обновляю protobuf до 3.5.0, раздражающее сообщение всегда печатается на терминал (stderr):

"Не удается разобрать сообщение типа, потому что в нем отсутствуют обязательные поля"

Его поля обязательны для заполнения.

Как я могу прекратить печатать сообщение об ошибке?

2 ответа

Опции:

  • сделай это optional вместо required
  • предоставить недостающие данные
  • крюк stderr и отправить его nul

Насколько я знаю, сама библиотека protobuf напрямую не печатает в stderr. Вместо этого сообщения об ошибках возвращаются через API, как message->InitializationErrorString(),

Таким образом, кажется, что это ваш собственный код, который печатает это сообщение в stderr, или, возможно, вы включили некоторый режим отладки.

Вы можете попытаться добавить отладочный крючок к отпечатку, чтобы увидеть, откуда он.

Другие вопросы по тегам