Package com.google.protobuf

# Class UninitializedMessageException

java.lang.Object
java.lang.Throwable
java.lang.Exception
java.lang.RuntimeException
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

Constructors
Constructor
Description
`UninitializedMessageException(MessageLite message)`
`UninitializedMessageException(List<String> missingFields)`

## Method Summary

Modifier and Type
Method
Description
`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

`addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### UninitializedMessageException

public UninitializedMessageException(MessageLite message)

### UninitializedMessageException

public UninitializedMessageException(List<String> missingFields)

## Method Details

### 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`.