1. A method for handling exceptions in sequential statements being executed speculatively in parallel comprising the steps of: providing a transactional memory system for managing a plurality of transactions; interacting with a sequential program that has a plurality of statements that are ordered in an original sequential order; creating a plurality of separate ordered transactions to execute the plurality of statements; executing at least a portion of the plurality of separate transactions speculatively in parallel; and providing a contention manager that ensures that any exceptions that are thrown from one or more speculatively executed blocks while the plurality of separate transactions execute are handled in the original sequential order.