> Am I getting this right?Not quite.
The enclosed computation may get asynchronous exceptions whatever
definition of 'asynchronous' you use — the exact one (by throw method)
or the approximate one (by type).
Just a couple of examples:
* The thread may catch an async exception from the RTS (such as
BlockedIndefinitelyOnMVar or StackOverflow)
* The thread may spawn other threads, passing its pid to them, and one
of its children may eventually kill it
So I'd say this method allows to catch any exceptions "related" to
the computation, synchronous or asynchronous. It is this "relatedness"
that is enforced by running it in a separate thread.
Roman