catch VMService connection exception (#6526)

diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index 30cd65c..2940ac4 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -25,7 +25,12 @@
   /// Connect to '127.0.0.1' at [port].
   static Future<VMService> connect(int port) async {
     Uri uri = new Uri(scheme: 'ws', host: '127.0.0.1', port: port, path: 'ws');
-    WebSocket ws = await WebSocket.connect(uri.toString());
+    WebSocket ws;
+    try {
+      ws = await WebSocket.connect(uri.toString());
+    } catch (e) {
+      return new Future<VMService>.error('Failed to connect to $uri\n  $e');
+    }
     rpc.Peer peer = new rpc.Peer(new IOWebSocketChannel(ws).cast());
     peer.listen();
     Uri httpAddress = new Uri(scheme: 'http', host: '127.0.0.1', port: port);