4d289d4488
From my experience, while topics usually cover different methodologies of working with exceptions, real programs and libs in non-small apps use them all, so you have to combine or make sure you can convert between all possible types easily.
26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
---
|
|
title: All About Exceptions
|
|
author: Michael Snoyman <michael@fpcomplete.com>
|
|
description: All of the necessary information to understand exceptions
|
|
first-written: 2015-02-24
|
|
last-updated: 2015-02-24
|
|
last-reviewed: 2015-02-24
|
|
---
|
|
|
|
Should cover:
|
|
|
|
* Throwing exceptions
|
|
* Catching exceptions
|
|
* Exceptions in pure code
|
|
* Difference between `throw` and `throwIO`
|
|
* Async exceptions
|
|
* Catching all exceptions
|
|
* http://www.yesodweb.com/blog/2014/05/exceptions-cont-monads
|
|
* https://www.fpcomplete.com/user/snoyberg/general-haskell/exceptions/exceptions-and-monad-transformers
|
|
* https://www.fpcomplete.com/user/snoyberg/general-haskell/exceptions/catching-all-exceptions
|
|
* Exceptions problems. Can't wrap. Can't have two exceptions. No idea how exception was thrown.
|
|
* [Wrap exceptions to provide context](http://stackoverflow.com/questions/27346380/how-to-wrap-exceptions-to-provide-context)
|
|
* [General dislike of exceptions](http://www.reddit.com/r/haskell/comments/2ety9f/new_blog_post_dealing_with_asynchronous/ck3fkbp)
|
|
* enclosed-exceptions
|
|
* Examples of code-conversion between all possible error styles
|
|
* unexceptionalio and errors libraries
|