try

try :: IO a -> IO (Either Exception a)
base Control.OldException
Similar to catch, but returns an Either result which is (Right a) if no exception was raised, or (Left e) if an exception was raised and its value is e. > try a = catch (Right `liftM` a) (return . Left) Note: as with catch, it is only polite to use this variant if you intend to re-throw the exception after performing whatever cleanup is needed. Otherwise, tryJust is generally considered to be better. Also note that System.IO.Error also exports a function called System.IO.Error.try with a similar type to try, except that it catches only the IO and user families of exceptions (as required by the Haskell 98 IO module).
try :: IO a -> IO (Either IOError a)
base System.IO.Error
The construct try comp exposes IO errors which occur within a computation, and which are not fully handled. Non-I/O exceptions are not caught by this variant; to catch all exceptions, use Control.Exception.try from Control.Exception.
try :: Exception e => IO a -> IO (Either e a)
base Control.Exception.Base, base Control.Exception
Similar to catch, but returns an Either result which is (Right a) if no exception of type e was raised, or (Left ex) if an exception of type e was raised and its value is ex. If any other type of exception is raised than it will be propogated up to the next enclosing exception handler. > try a = catch (Right `liftM` a) (return . Left) Note that System.IO.Error also exports a function called System.IO.Error.try with a similar type to Control.Exception.try, except that it catches only the IO and user families of exceptions (as required by the Haskell 98 IO module).
try :: GenParser tok st a -> GenParser tok st a
parsec Text.ParserCombinators.Parsec.Prim
try :: ParsecT s u m a -> ParsecT s u m a
parsec Text.Parsec.Prim
The parser try p behaves like parser p, except that it pretends that it hasn't consumed any input when an error occurs. This combinator is used whenever arbitrary look ahead is needed. Since it pretends that it hasn't consumed any input when p fails, the (<|>) combinator will try its second alternative even when the first parser failed while consuming input. The try combinator can for example be used to distinguish identifiers and reserved words. Both reserved words and identifiers are a sequence of letters. Whenever we expect a certain reserved word combinator. Suppose we write: > expr = letExpr <|> identifier <?> "expression" > > letExpr = do{ string "let"; ... } > identifier = many1 letter If the user writes "lexical", the parser fails with: unexpected 'x', expecting 't' in "let". Indeed, since the (<|>) combinator only tries alternatives when the first alternative hasn't consumed input, the identifier parser is never tried (because the prefix "le" of the string "let" parser is already consumed). The right behaviour can be obtained by adding the try combinator: > expr = letExpr <|> identifier <?> "expression" > > letExpr = do{ try (string "let"); ... } > identifier = many1 letter
tryJust :: (Exception -> Maybe b) -> IO a -> IO (Either b a)
base Control.OldException
A variant of try that takes an exception predicate to select which exceptions are caught (c.f. catchJust). If the exception does not match the predicate, it is re-thrown.
tryJust :: Exception e => (e -> Maybe b) -> IO a -> IO (Either b a)
base Control.Exception.Base, base Control.Exception
A variant of try that takes an exception predicate to select which exceptions are caught (c.f. catchJust). If the exception does not match the predicate, it is re-thrown.
tryPutMVar :: MVar a -> a -> IO Bool
base Control.Concurrent.MVar
A non-blocking version of putMVar. The tryPutMVar function attempts to put the value a into the MVar, returning True if it was successful, or False otherwise.
tryTakeMVar :: MVar a -> IO (Maybe a)
base Control.Concurrent.MVar
A non-blocking version of takeMVar. The tryTakeMVar function returns immediately, with Nothing if the MVar was empty, or Just a if the MVar was full with contents a. After tryTakeMVar, the MVar is left empty.
tryCGI :: (MonadCGI m, MonadCatchIO m) => m a -> m (Either SomeException a)
cgi Network.CGI.Monad, cgi Network.CGI
Catches any exception thrown by an CGI action, and returns either the exception, or if no exception was raised, the result of the action.
tryPeekTBQueue :: TBQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TBQueue
A version of peekTBQueue which does not retry. Instead it returns Nothing if no value is available.
tryPeekTChan :: TChan a -> STM (Maybe a)
stm Control.Concurrent.STM.TChan
A version of peekTChan which does not retry. Instead it returns Nothing if no value is available.
tryPeekTQueue :: TQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TQueue
A version of peekTQueue which does not retry. Instead it returns Nothing if no value is available.
tryPutTMVar :: TMVar a -> a -> STM Bool
stm Control.Concurrent.STM.TMVar
A version of putTMVar that does not retry. The tryPutTMVar function attempts to put the value a into the TMVar, returning True if it was successful, or False otherwise.
tryReadTBQueue :: TBQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TBQueue
A version of readTBQueue which does not retry. Instead it returns Nothing if no value is available.
tryReadTChan :: TChan a -> STM (Maybe a)
stm Control.Concurrent.STM.TChan
A version of readTChan which does not retry. Instead it returns Nothing if no value is available.
tryReadTMVar :: TMVar a -> STM (Maybe a)
stm Control.Concurrent.STM.TMVar
A version of readTMVar which does not retry. Instead it returns Nothing if no value is available.
tryReadTQueue :: TQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TQueue
A version of readTQueue which does not retry. Instead it returns Nothing if no value is available.
tryTakeTMVar :: TMVar a -> STM (Maybe a)
stm Control.Concurrent.STM.TMVar
A version of takeTMVar that does not retry. The tryTakeTMVar function returns Nothing if the TMVar was empty, or Just a if the TMVar was full with contents a. After tryTakeTMVar, the TMVar is left empty.
TryDirectContext :: DirectRendering
GLUT Graphics.UI.GLUT.Initialization
Try to use direct rendering, issue a warning and use indirect rendering if this is not possible.
throwErrnoIfMinus1Retry :: Num a => String -> IO a -> IO a
base Foreign.C.Error
Throw an IOError corresponding to the current value of getErrno if the IO action returns a result of -1, but retries in case of an interrupted operation.
throwErrnoIfMinus1Retry_ :: Num a => String -> IO a -> IO ()
base Foreign.C.Error
as throwErrnoIfMinus1, but discards the result.
throwErrnoIfMinus1RetryMayBlock :: Num a => String -> IO a -> IO b -> IO a
base Foreign.C.Error
as throwErrnoIfMinus1Retry, but checks for operations that would block.
throwErrnoIfMinus1RetryMayBlock_ :: Num a => String -> IO a -> IO b -> IO ()
base Foreign.C.Error
as throwErrnoIfMinus1RetryMayBlock, but discards the result.
throwErrnoIfNullRetry :: String -> IO (Ptr a) -> IO (Ptr a)
base Foreign.C.Error
Throw an IOError corresponding to the current value of getErrno if the IO action returns nullPtr, but retry in case of an interrupted operation.
throwErrnoIfNullRetryMayBlock :: String -> IO (Ptr a) -> IO b -> IO (Ptr a)
base Foreign.C.Error
as throwErrnoIfNullRetry, but checks for operations that would block.
throwErrnoIfRetry :: (a -> Bool) -> String -> IO a -> IO a
base Foreign.C.Error
as throwErrnoIf, but retry the IO action when it yields the error code eINTR - this amounts to the standard retry loop for interrupted POSIX system calls.
throwErrnoIfRetry_ :: (a -> Bool) -> String -> IO a -> IO ()
base Foreign.C.Error
as throwErrnoIfRetry, but discards the result.
throwErrnoIfRetryMayBlock :: (a -> Bool) -> String -> IO a -> IO b -> IO a
base Foreign.C.Error
as throwErrnoIfRetry, but additionally if the operation yields the error code eAGAIN or eWOULDBLOCK, an alternative action is executed before retrying.
throwErrnoIfRetryMayBlock_ :: (a -> Bool) -> String -> IO a -> IO b -> IO ()
base Foreign.C.Error
as throwErrnoIfRetryMayBlock, but discards the result.
colorMapEntry :: Index1 GLint -> StateVar (Color3 GLfloat)
GLUT Graphics.UI.GLUT.Colormap
Controls the color index colormap entry of the current window's logical colormap for the layer in use. The layer in use of the current window should be a color index window. The color index should be zero or greater and less than the total number of colormap entries for the window (see numColorMapEntries) and different from an overlay's transparent index (see transparentIndex). If the layer in use's colormap was copied by reference, setting a colormap entry will force the duplication of the colormap.
endHostEntry :: IO ()
network Network.BSD
endNetworkEntry :: IO ()
network Network.BSD
Close the connection to the network name database.
endProtocolEntry :: IO ()
network Network.BSD
endServiceEntry :: IO ()
network Network.BSD
GeometryShader :: ShaderType
OpenGL Graphics.Rendering.OpenGL.GL.Shaders.ShaderObjects
getGroupEntryForID :: GroupID -> IO GroupEntry
unix System.Posix.User
getGroupEntryForID gid calls getgrgid to obtain the GroupEntry information associated with GroupID gid.
getGroupEntryForName :: String -> IO GroupEntry
unix System.Posix.User
getGroupEntryForName name calls getgrnam to obtain the GroupEntry information associated with the group called name.
getHostEntry :: IO HostEntry
network Network.BSD
getNetworkEntry :: IO NetworkEntry
network Network.BSD

Show more results