Maintainer | John Goerzen, |
---|
Maintainer : jgoerzen@complete.org Stability : provisional Portability: portable
Handling LDAP Exceptions
Written by John Goerzen, jgoerzen@complete.org
- data LDAPException = LDAPException {
- code :: LDAPReturnCode
- description :: String
- caller :: String
- catchLDAP :: IO a -> (LDAPException -> IO a) -> IO a
- handleLDAP :: (LDAPException -> IO a) -> IO a -> IO a
- failLDAP :: IO a -> IO a
- throwLDAP :: LDAPException -> IO a
Types
data LDAPException Source
The basic type of LDAP exceptions. These are raised when an operation does not indicate success.
LDAPException | |
|
General Catching
catchLDAP :: IO a -> (LDAPException -> IO a) -> IO aSource
Execute the given IO action.
If it raises a LDAPException
, then execute the supplied handler and return
its return value. Otherwise, process as normal.
handleLDAP :: (LDAPException -> IO a) -> IO a -> IO aSource
Like catchLDAP
, with the order of arguments reversed.
failLDAP :: IO a -> IO aSource
Catches LDAP errors, and re-raises them as IO errors with fail. Useful if you don't care to catch LDAP errors, but want to see a sane error message if one happens. One would often use this as a high-level wrapper around LDAP calls.
throwLDAP :: LDAPException -> IO aSource
A utility function to throw an LDAPException
. The mechanics of throwing
such a thing differ between GHC 6.8.x, Hugs, and GHC 6.10. This function
takes care of the special cases to make it simpler.
With GHC 6.10, it is a type-restricted alias for throw. On all other systems, it is a type-restricted alias for throwDyn.