h2. Exception Management {scrollbar} h3. Introduction We use some dedicated exceptions for each problem we might encounter while communicating with a LDAP Server. All these exceptions are associated with a *[DIRAPI:ResultCode] value. This chapter will present the associated exception for each of those values. h3. LDAP Operation Exception Mapping Each operation exception inherits from the _LdapOperationException_ class. Operation exceptions are generated when sending a message to the remote server, and may be thrown as a result of the called operation. In any case, they are only issued after having had an exchange with the remote server. The following table provides the relation between a *ResultCode* and its associated exception (note that some *ResultCodes* are not associated with an exception, they are either for a successful operation or an intermediate result) : || ResultCode || Exception || | SUCCESS | no exception | | REFERRAL | no exception | | SASL_BIND_IN_PROGRESS | no exception | | CANCELED | no exception | | COMPARE_TRUE | no exception | | COMPARE_FALSE | no exception | | PARTIAL_RESULTS | no exception | | INVALID_CREDENTIALS | LdapAuthenticationException | | UNWILLING_TO_PERFORM | LdapUnwillingToPerformException | | UNAVAILABLE_CRITICAL_EXTENSION | LdapUnwillingToPerformException | | INSUFFICIENT_ACCESS_RIGHTS | LdapNoPermissionException | | NOT_ALLOWED_ON_NON_LEAF | LdapContextNotEmptyException | | NO_SUCH_OBJECT | LdapNoSuchObjectException | | NO_SUCH_ATTRIBUTE | LdapNoSuchAttributeException | | ATTRIBUTE_OR_VALUE_EXISTS | LdapAttributeInUseException | | ENTRY_ALREADY_EXISTS | LdapEntryAlreadyExistsException | | OBJECT_CLASS_VIOLATION | LdapSchemaViolationException | | NOT_ALLOWED_ON_RDN | LdapSchemaViolationException | | OBJECT_CLASS_MODS_PROHIBITED | LdapSchemaViolationException | | ALIAS_PROBLEM | LdapAliasException | | AFFECTS_MULTIPLE_DSAS | LdapAffectMultipleDsaException | | ALIAS_DEREFERENCING_PROBLEM | LdapAliasDereferencingException | | AUTH_METHOD_NOT_SUPPORTED | LdapAuthenticationNotSupportedException | | INAPPROPRIATE_AUTHENTICATION | LdapAuthenticationNotSupportedException | | CONFIDENTIALITY_REQUIRED | LdapAuthenticationNotSupportedException | | BUSY | LdapServiceUnavailableException | | UNAVAILABLE | LdapServiceUnavailableException | | CONSTRAINT_VIOLATION | LdapInvalidAttributeValueException | | INVALID_ATTRIBUTE_SYNTAX | LdapInvalidAttributeValueException | | INAPPROPRIATE_MATCHING | LdapInvalidSearchFilterException | | INVALID_DN_SYNTAX | LdapInvalidDnException | | NAMING_VIOLATION | LdapInvalidDnException | | LOOP_DETECT | LdapLoopDetectedException | | OPERATIONS_ERROR | LdapOperationErrorException | | PROTOCOL_ERROR | LdapProtocolErrorException | | TIME_LIMIT_EXCEEDED | LdapTimeLimitExceededException | | UNDEFINED_ATTRIBUTE_TYPE | LdapInvalidAttributeTypeException | | OTHER | LdapOtherException | | TOO_LATE | LdapTooLateException | | UNKNOWN | LdapUnknownException | | ADMIN_LIMIT_EXCEEDED | LdapAdminLimitExceededException | | CANNOT_CANCEL | LdapCannotCancelException | | E_SYNC_REFRESH_REQUIRED | LdapOperationException | | STRONG_AUTH_REQUIRED | LdapStringAuthenticationRequiredException | | SIZE_LIMIT_EXCEEDED | LdapSizeLimitExceededException | | NO_SUCH_OPERATION | LdapNoSuchOperationException | h3. Other Exceptions TO BE CONTINUED