Detect when isolate reload is barred and inform the user (#5602)

diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart
index cc021ed..153c002 100644
--- a/packages/flutter_tools/lib/src/vmservice.dart
+++ b/packages/flutter_tools/lib/src/vmservice.dart
@@ -749,12 +749,18 @@
     _upgradeCollection(map, this);
   }
 
+  static final int kIsolateReloadBarred = 1005;
+
   Future<Map<String, dynamic>> reloadSources() async {
     try {
       Map<String, dynamic> response = await invokeRpcRaw('_reloadSources');
       return response;
-    } catch (e) {
-      return new Future<Map<String, dynamic>>.error(e.data['details']);
+    } on rpc.RpcException catch(e) {
+      return new Future<Map<String, dynamic>>.error(<String, dynamic>{
+        'code': e.code,
+        'message': e.message,
+        'data': e.data,
+      });
     }
   }