GHC.IO.Exception (original) (raw)
Documentation
data BlockedIndefinitelyOnMVar Source #
The thread is blocked on an MVar, but there are no other references to the MVar so it can't ever continue.
Instances
Instances details
data BlockedIndefinitelyOnSTM Source #
The thread is waiting to retry an STM transaction, but there are no other references to any TVars involved, so it can't ever continue.
Instances
Instances details
There are no runnable threads, so the program is deadlocked. The Deadlock exception is raised in the main thread only.
Instances
Instances details
newtype CompactionFailed Source #
Compaction found an object that cannot be compacted. Functions cannot be compacted, nor can mutable objects or pinned objects. See [compact](GHC-Compact.html#v:compact "GHC.Compact").
Since: base-4.10.0.0
Instances
Instances details
Asynchronous exceptions.
Constructors
| StackOverflow | The current thread's stack exceeded its limit. Since an exception has been raised, the thread's stack will certainly be below its limit again, but the programmer should take remedial action immediately. |
|---|---|
| HeapOverflow | The program's heap is reaching its limit, and the program should take action to reduce the amount of live data it has. Notes:It is undefined which thread receives this exception. GHC currently throws this to the same thread that receives UserInterrupt, but this may change in the future.The GHC RTS currently can only recover from heap overflow if it detects that an explicit memory limit (set via RTS flags). has been exceeded. Currently, failure to allocate memory from the operating system results in immediate termination of the program. |
| ThreadKilled | This exception is raised by another thread calling killThread, or by the system if it needs to terminate the thread for some reason. |
| UserInterrupt | This exception is raised by default in the main thread of the program when the user requests to terminate the program via the usual mechanism(s) (e.g. Control-C in the console). |
Defines the exit codes that a program can return.
Constructors
| ExitSuccess | indicates successful termination; |
|---|---|
| ExitFailure Int | indicates program failure with an exit code. The exact interpretation of the code is operating-system dependent. In particular, some values may be prohibited (e.g. 0 on a POSIX-compliant system). |
The exception thrown when an infinite cycle is detected in[fixIO](System-IO.html#v:fixIO "System.IO").
Since: base-4.11.0.0
Instances
Instances details
type IOError = IOException Source #
The Haskell 2010 type for exceptions in the [IO](System-IO.html#t:IO "System.IO") monad. Any I/O operation may raise an [IOException](GHC-IO-Exception.html#t:IOException "GHC.IO.Exception") instead of returning a result. For a more general type of exception, including also those that arise in pure code, see [Exception](Control-Exception.html#v:Exception "Control.Exception").
In Haskell 2010, this is an opaque type.
Exceptions that occur in the IO monad. An IOException records a more specific error type, a descriptive string and maybe the handle that was used when the error was flagged.