Proposal: add Control.Exception.SomeAsyncException
Evan Laforge
qdunkan at gmail.com
Wed Feb 5 18:41:54 UTC 2014
On Wed, Feb 5, 2014 at 2:08 AM, Roman Cheplyaka <roma at ro-che.info> wrote:
> I just discovered that SomeAsyncException under the exact same name and
> with the same intention has been added to base-4.7 (GHC 7.8). How cool
> is that?
In the python world this was called the time machine effect. Looks
like the ghc devs have their own time machine!
I recently fixed a bug with catching SomeException instead of only
synchronous exceptions. I'd imagine that catching async exceptions is
very often a bug, since it catches ^C and ThreadKilled and the like.
If I did lots of work with exceptions I'd probably go as far as to
define an alternate 'catch' that rethrows async exceptions. But I
think even with AsyncException as its own class you can't say
"everything except", so it still requires an explicit rethrow, yes?
E.g.:
case Exception.fromException exc of
Just (exc :: Exception.AsyncException) -> Exception.throwIO exc
Nothing -> return ()
More information about the Libraries
mailing list