type IOError = IOError |
userError :: String -> IOError |
mkIOError :: IOErrorType |
-> String -> Maybe Handle -> Maybe FilePath -> IOError |
annotateIOError :: IOError |
-> String -> Maybe Handle -> Maybe FilePath -> IOError |
isAlreadyExistsError :: IOError -> Bool |
isDoesNotExistError :: IOError -> Bool |
isAlreadyInUseError :: IOError -> Bool |
isFullError :: IOError -> Bool |
isEOFError :: IOError -> Bool |
isIllegalOperation :: IOError -> Bool |
isPermissionError :: IOError -> Bool |
isUserError :: IOError -> Bool |
data IOErrorType |
instance Eq IOErrorType |
instance Show IOErrorType |
alreadyExistsErrorType :: IOErrorType |
doesNotExistErrorType :: IOErrorType |
alreadyInUseErrorType :: IOErrorType |
fullErrorType :: IOErrorType |
eofErrorType :: IOErrorType |
illegalOperationErrorType :: IOErrorType |
permissionErrorType :: IOErrorType |
userErrorType :: IOErrorType |
ioError :: IOError -> IO a |
catch :: IO a -> (IOError -> IO a) -> IO a |
the function f returns [] when an end-of-file exception (cf. isEOFError) occurs in g; otherwise, the exception is propagated to the next outer handler.
When an exception propagates outside the main program, the Haskell system prints the associated IOError value and exits the program.
try :: IO a -> IO (Either IOError a) |