base-4.18.2.1: Core data structures and operations
Copyright(c) The FFI task force 2001
LicenseBSD-style (see the file libraries/base/LICENSE)
Maintainerffi@haskell.org
Stabilityprovisional
Portabilityportable
Safe HaskellTrustworthy
LanguageHaskell2010

Foreign.Marshal.Error

Description

Routines for testing return values and raising a userError exception in case of values indicating an error state.

Synopsis

Documentation

throwIf Source #

Arguments

:: (a -> Bool)

error condition on the result of the IO action

-> (a -> String)

computes an error message from erroneous results of the IO action

-> IO a

the IO action to be executed

-> IO a 

Execute an IO action, throwing a userError if the predicate yields True when applied to the result returned by the IO action. If no exception is raised, return the result of the computation.

throwIf_ :: (a -> Bool) -> (a -> String) -> IO a -> IO () Source #

Like throwIf, but discarding the result

throwIfNeg :: (Ord a, Num a) => (a -> String) -> IO a -> IO a Source #

Guards against negative result values

throwIfNeg_ :: (Ord a, Num a) => (a -> String) -> IO a -> IO () Source #

Like throwIfNeg, but discarding the result

throwIfNull :: String -> IO (Ptr a) -> IO (Ptr a) Source #

Guards against null pointers

void :: IO a -> IO () Source #

Deprecated: use void instead

Discard the return value of an IO action