| 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) |