Should cover:
- Throwing exceptions
- Catching exceptions
- Exceptions in pure code
- Difference between
throw
andthrowIO
- Async exceptions
- Exceptions in continuation based monads
- Exceptions and monad transformers
- Catching all exceptions
- Exceptions problems. Can't wrap. Can't have two exceptions. No idea how exception was thrown.
- Wrap exceptions to provide context
- General dislike of exceptions
- enclosed-exceptions
- Examples of code-conversion between all possible error styles
- unexceptionalio and errors libraries