[catch exceptions thrown by optimizing routines
John Meacham <john@repetae.net>**20060323023949] hunk ./Main.hs 703
-    prog' <- f prog { progStats = mempty }
+    let ferr e = do
+        putErrLn $ "\n>>> Exception thrown"
+        putErrLn $ "\n>>> Before " ++ name
+        printProgram prog
+        putErrLn $ "\n>>>"
+        putErrLn (show e)
+        maybeDie
+        return prog
+    prog' <- Control.Exception.catch (f prog { progStats = mempty }) ferr