Version 0.3.1.2 .

Cherry pick r17345 from bleeding_edge to trunk.

git-svn-id: http://dart.googlecode.com/svn/trunk@17463 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/sdk/lib/async/future_impl.dart b/sdk/lib/async/future_impl.dart
index 6b332e6..ac7b46e 100644
--- a/sdk/lib/async/future_impl.dart
+++ b/sdk/lib/async/future_impl.dart
@@ -254,7 +254,7 @@
         _clearUnhandledError();
         AsyncError error = _resultOrListeners;
         print("Uncaught Error: ${error.error}");
-        if (stackTrace != null) {
+        if (error.stackTrace != null) {
           print("Stack Trace:\n${error.stackTrace}\n");
         }
         throw error.error;
@@ -299,6 +299,7 @@
       future._setValue(_resultOrListeners);
     } else {
       assert(_hasError);
+      _clearUnhandledError();
       future._setError(_resultOrListeners);
     }
   }
diff --git a/tools/VERSION b/tools/VERSION
index 9bc4a09..533f085 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -1,4 +1,4 @@
 MAJOR 0
 MINOR 3
 BUILD 1
-PATCH 1
+PATCH 2