The Haskell 2010 type for exceptions in the
IO monad. Any I/O
operation may raise an
IOException instead of returning a
result. For a more general type of exception, including also those
that arise in pure code, see
Exception.
In Haskell 2010, this is an opaque type.