Abort test case early if compilation failed.

Change-Id: I5ad844c11b7d1bc9170a66e295ca1fa23c489141
diff --git a/user/src/com/google/gwt/junit/JUnitShell.java b/user/src/com/google/gwt/junit/JUnitShell.java
index 35caa1b..5083983 100644
--- a/user/src/com/google/gwt/junit/JUnitShell.java
+++ b/user/src/com/google/gwt/junit/JUnitShell.java
@@ -1114,7 +1114,13 @@
             userAgents.toArray(new String[0]));
       }
     }
-    if (!new Compiler(options).run(getTopLogger(), module)) {
+    boolean success = false;
+    try {
+      success = new Compiler(options).run(getTopLogger(), module);
+    } catch (Exception e) {
+      getTopLogger().log(Type.ERROR, "Compiler aborted with an exception ", e);
+    }
+    if (!success) {
       throw new UnableToCompleteException();
     }
     // TODO(scottb): prepopulate currentCompilationState somehow?