liveBook · Manning

Asynchronous exception

An asynchronous exception is an exception delivered independently of the execution point of the computation or thread it interrupts.

How 2 Manning books explain it

Functional Design and Architecture: Examples in Haskell

An asynchronous exception is an exception delivered independently of the execution point of the thread or computation it interrupts.

How it is used
Distinguishes unpredictable cross-thread failures from ordinary synchronous exceptions when designing error boundaries.
How deep it goes
Defines cross-thread delivery and recommends prohibition plus interpreter-level gatekeeping, without detailing an asynchronous-exception handling procedure.
Examples
Uses Haskell threads, native file-system operations, explicit Either-based results, and interpreter exception conversion.
What you can do after
Evaluate exception boundaries and design interpreters that keep unpredictable external failures out of business logic.

Read how Functional Design and Architecture: Examples in Haskell explains asynchronous exception →

Learn Haskell by Example

AsyncException is a Haskell exception type whose constructors represent asynchronous runtime events such as stack overflow, thread termination, and user interruption.

How it is used
Handles user interruption and inter-thread control flow during operations such as file copying.
How deep it goes
Defines four constructors and demonstrates selective UserInterrupt handling, but does not develop broader asynchronous-exception internals.
Examples
Uses Ctrl-C during metadata-preserving file copying and removes the partially copied destination.
What you can do after
Apply it via catchJust to select UserInterrupt, clean up partial work, and rethrow the interruption.

Read how Learn Haskell by Example explains asynchronous exception →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.