explicit-exception: Exceptions which are explicit in the type signature.
Synchronous and Asynchronous exceptions which are explicit in the type signature.
The first ones are very similar to Either
and Control.Monad.Error.ErrorT
.
The second ones are used for System.IO.readFile
and System.IO.hGetContents
.
This package is a proposal for improved exception handling in Haskell.
It strictly separates between handling of
exceptional situations (file not found, invalid user input,
see http://www.haskell.org/haskellwiki/Exception) and
(programming) errors (division by zero, index out of range,
see http://www.haskell.org/haskellwiki/Error).
Handling of the first one is called "exception handling",
whereas handling of errors is better known as "debugging".
For applications see the packages midi
, spreadsheet
, http-monad
.
Although I'm not happy with the identifier style of the Monad Transformer Library (partially intended for unqualified use) I have tried to adopt it for this library, in order to let Haskell programmers get accustomed easily to it.
To do:
Because many people requested it,
we will provide a bracket
function that frees a resource
both when an exception and an error occurs,
that is, it combines exception handling and debugging.
However note that freeing resources in case of an error is dangerous
and may cause further damage.
Modules
[Index]
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
buildtests | Build executables that demonstrate some space leaks | Disabled |
splitbase | Choose the smaller, split-up base package from version 2 on. | Enabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- explicit-exception-0.1.7.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
Versions [RSS] | 0.0.1, 0.0.2, 0.1, 0.1.0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.7.1, 0.1.7.2, 0.1.7.3, 0.1.8, 0.1.9, 0.1.9.1, 0.1.9.2, 0.1.10, 0.1.10.1, 0.2 |
---|---|
Dependencies | applicative (>=1.0 && <1.1), base (>=1 && <5), bytestring (>=0.9.0.1 && <0.11), special-functors (>=1.0 && <1.1), tar (>=0.3 && <0.4), transformers (>=0.2 && <0.4) [details] |
Tested with | ghc ==6.8.2, ghc ==7.4.2, ghc ==7.6.1, ghc ==7.8.2 |
License | BSD-3-Clause |
Author | Henning Thielemann <haskell@henning-thielemann.de> |
Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |
Category | Control |
Home page | http://www.haskell.org/haskellwiki/Exception |
Source repo | head: darcs get http://code.haskell.org/explicit-exception/ this: darcs get http://code.haskell.org/explicit-exception/ --tag 0.1.7.2 |
Uploaded | by HenningThielemann at 2014-04-12T16:00:54Z |
Distributions | Fedora:0.2, LTSHaskell:0.2, NixOS:0.2, Stackage:0.2 |
Reverse Dependencies | 28 direct, 25 indirect [details] |
Executables | ee-writer, ee-unzip, ee-test, ee-tar |
Downloads | 20828 total (107 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Successful builds reported [all 1 reports] |