Exception UninitializedMessageException

public class UninitializedMessageException extends RuntimeException

Thrown when attempting to build a protocol message that is missing required fields. This is a RuntimeException because it normally represents a programming error: it happens when some code which constructs a message fails to set all the fields. parseFrom() methods do not throw this; they throw an InvalidProtocolBufferException if required fields are missing, because it is not a programming error to receive an incomplete message. In other words, UninitializedMessageException should never be thrown by correct code, but InvalidProtocolBufferException might be.

Constructors

UninitializedMessageException(MessageLite message)

public UninitializedMessageException(MessageLite message)
Parameter
NameDescription
messageMessageLite

UninitializedMessageException(List<String> missingFields)

public UninitializedMessageException(List<String> missingFields)
Parameter
NameDescription
missingFieldsList<String>

Methods

asInvalidProtocolBufferException()

public InvalidProtocolBufferException asInvalidProtocolBufferException()

Converts this exception to an InvalidProtocolBufferException. When a parsed message is missing required fields, this should be thrown instead of UninitializedMessageException.

Returns
TypeDescription
InvalidProtocolBufferException

getMissingFields()

public List<String> getMissingFields()

Get a list of human-readable names of required fields missing from this message. Each name is a full path to a field, e.g. "foo.bar[5].baz". Returns null if the lite runtime was used, since it lacks the ability to find missing fields.

Returns
TypeDescription
List<String>