Generic exception rules
The generic exception rules are common to all API- or SPI-level operations and are described in the following sections.
Framework (API-level) exception rules
- IllegalArgumentException or NullPointerException
 - 
Thrown when the ObjectClass is null or the name is blank.
 - OperationTimeoutException
 - 
Thrown when the operation timed out.
 - ConnectionFailedException
 - 
Thrown if any problem occurs with the connector server connection.
 - UnsupportedOperationException
 - 
Thrown if the connector does not implement the required interface.
 - ConnectorIOException
 - 
Thrown if the connector failed to initialize a remote connection due to a SocketException.
 - ConnectorException
 - 
Thrown in the following situations:
- 
The connector failed to initiate the remote connection due to a
SocketException. - 
An unexpected request was sent to the remote connector server.
 - 
An unexpected response was received from the remote connector server.
 
 - 
 - InvalidCredentialException
 - 
Thrown if the remote framework key is invalid.
 
The following exceptions are thrown specifically in the context of a poolable connector.
- ConnectorException
 - 
Thrown if the pool has no available connectors after the
maxWaittime has elapsed. - IllegalStateException
 - 
Thrown if the object pool has already shut down.
 
Connector (SPI Level) Exception Rules
- InvalidAttributeValueException
 - 
Thrown when single-valued attribute has multiple values.
 - IllegalArgumentException
 - 
Thrown when the value of the
__PASSWORD__or the__CURRENT_PASSWORD__attribute is not aGuardedString. - IllegalStateException
 - 
Thrown when the
Attributename is blank. - PermissionDeniedException
 - 
Thrown when the target resource will not allow a specific operation to be performed. An instance of the
PermissionDeniedExceptiongenerally describes a native error that is returned by (or wraps a native exception that is thrown by) the target resource. - ConnectorIOException, ConnectionBrokenException, ConnectionFailedException
 - 
Thrown when any problem occurs with the connection to the target resource.
 - PreconditionFailedException
 - 
Thrown when the current version of the resource object does not match the version provided by the connector.
 - PreconditionRequiredException
 - 
Thrown when a resource object requires a version, but no version was supplied in the
getRevisionoperation.