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.
Inherited Members
Constructors
UninitializedMessageException(MessageLite message)
public UninitializedMessageException(MessageLite message)
Parameter | |
---|---|
Name | Description |
message |
MessageLite |
UninitializedMessageException(List<String> missingFields)
public UninitializedMessageException(List<String> missingFields)
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 | |
---|---|
Type | Description |
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.