The following table details each of the exception types thrown by AMPS.
Exception
When
Notes
AlreadyConnectedException
Connecting
Thrown when connect()
is called on a Client
that is already connected.
AMPSException
Anytime
Base class for all AMPS exceptions.
AuthenticationException
Anytime
Indicates an authentication failure occurred on the server.
BadFilterException
Subscribing
This typically indicates a syntax error in a filter expression.
BadRegexTopicException
Subscribing
Indicates a malformed regular expression was found in the topic name.
CommandException
Anytime
Base class for all exceptions relating to commands sent to AMPS.
ConnectionException
Anytime
Base class for all exceptions relating to the state of the AMPS connection.
ConnectionRefusedException
Connecting
The connection was actively refused by the server. Validate that the server is running, that network connectivity is available, and the settings on the client match those on the server.
DisconnectedException
Anytime
No connection is available when AMPS needed to send data to the server or the user's disconnect handler threw an exception.
InvalidTopicException
SOW query
The topic is not configured for the requested operation. For example, a sow
command was issued for a topic that is not in the SOW or a bookmark subscribe was issued for a topic that is not recorded in the transaction log.
InvalidTransportOptionsEx
ception
Connecting
An invalid option or option value was specified in the URI.
InvalidUriException
Connecting
The URI string provided to connect()
was formatted improperly.
MessageTypeException
Connecting
The class for a given transport's message type was not found in AMPS.
NameInUseException
Connecting
The client name (specified when instantiating Client
) is already in use on the server.
RetryOperationException
Anytime
An error occurred that caused processing of the last command to be aborted. Try issuing the command again.
StreamException
Anytime
Indicates that data corruption has occurred on the connection between the client and server. This usually indicates an internal error inside of AMPS -- contact AMPS support.
SubscriptionAlreadyExists
Exception
Subscribing
A subscription has been requested using the same command ID string as another subscription. Create a unique command ID string for every subscription.
TimedOutException
Anytime
A timeout occurred waiting for a response to a command.
TransportTypeException
Connecting
Thrown when a transport type is selected in the URI that is unknown to AMPS.
UnknownException
Anytime
Thrown when an internal error occurs. Contact AMPS support immediately.
UsageException
Changing the properties of an object
Thrown when the object is not in a valid state for setting the properties. For example, some properties of a Client
(such as the name) cannot be changed while that client is connected to AMPS.