From: "Phlip" <phlip_cpp / yahoo.com>
> If an exception blew away your current context, would your system state
> roll back completely and cleanly to the point it was at before the
'begin'?

To me it sounds like you are confusing exceptions and transactions.
Exceptions are used for reporting exceptional/erroneous events.
Transactions are used for atomically rolling back to safe states in the
event of failures.  The two concepts are orthogonal.

Cheers,
            Nat.