Do not set the sticky error or stop processing tasks after an uncaught exception

See https://github.com/flutter/flutter/issues/6358

Change-Id: Idf4923e50967b4f8f46c450f226f98b021b2e894
diff --git a/dart_message_handler.cc b/dart_message_handler.cc
index 474cc1f..e898c74 100644
--- a/dart_message_handler.cc
+++ b/dart_message_handler.cc
@@ -83,11 +83,6 @@
       }
       Dart_SetPausedOnExit(false);
     }
-  } else if (DartStickyError::IsSet()) {
-    // Only process service messages if we have a sticky error set.
-    if (Dart_HasServiceMessages()) {
-      Dart_HandleServiceMessages();
-    }
   } else {
     // We are processing messages normally.
     result = Dart_HandleMessages();
@@ -95,11 +90,9 @@
   }
 
   if (error) {
-    if (DartStickyError::MaybeSet(result)) {
+    if (Dart_IsError(result)) {
       // Remember that we had an uncaught exception error.
       isolate_had_uncaught_exception_error_ = true;
-      // Mark that we are paused on exit.
-      Dart_SetPausedOnExit(true);
     }
   } else if (!Dart_HasLivePorts()) {
     // The isolate has no live ports and would like to exit.
diff --git a/dart_microtask_queue.cc b/dart_microtask_queue.cc
index 182a94a..86f69fc 100644
--- a/dart_microtask_queue.cc
+++ b/dart_microtask_queue.cc
@@ -37,14 +37,7 @@
       if (!dart_state.get())
         continue;
       DartState::Scope dart_scope(dart_state.get());
-      if (DartStickyError::IsSet()) {
-        break;
-      }
-      Dart_Handle result = DartInvokeVoid(callback.value());
-      // Let the isolate remember any uncaught exceptions.
-      if (DartStickyError::MaybeSet(result)) {
-        break;
-      }
+      DartInvokeVoid(callback.value());
     }
   }
 }