com.google.protobuf
Class UninitializedMessageException

java.lang.Object
  extended by java.lang.Throwable
      extended by java.lang.Exception
          extended by java.lang.RuntimeException
              extended by com.google.protobuf.UninitializedMessageException
All Implemented Interfaces:
Serializable

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.

See Also:
Serialized Form

Constructor Summary
UninitializedMessageException(List<String> missingFields)
           
UninitializedMessageException(MessageLite message)
           
 
Method Summary
 InvalidProtocolBufferException asInvalidProtocolBufferException()
          Converts this exception to an InvalidProtocolBufferException.
 List<String> getMissingFields()
          Get a list of human-readable names of required fields missing from this message.
 
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

UninitializedMessageException

public UninitializedMessageException(MessageLite message)

UninitializedMessageException

public UninitializedMessageException(List<String> missingFields)
Method Detail

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.


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.