From ea30c95dc99de6f86f23caca3d219c5f89a19bff Mon Sep 17 00:00:00 2001 From: Alexander Aprelev Date: Fri, 13 Apr 2018 17:02:14 -0700 Subject: [PATCH] Report RpcException error thrown by _reloadSource vmservice rpc. (#16417) * Don't return null, just rethrow RpcException error when vmservice responds with error. --- packages/flutter_tools/lib/src/run_hot.dart | 4 +++- packages/flutter_tools/lib/src/vmservice.dart | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/flutter_tools/lib/src/run_hot.dart b/packages/flutter_tools/lib/src/run_hot.dart index 7abd754fe8c..95217af83ed 100644 --- a/packages/flutter_tools/lib/src/run_hot.dart +++ b/packages/flutter_tools/lib/src/run_hot.dart @@ -534,7 +534,9 @@ class HotRunner extends ResidentRunner { pause: pause ); countExpectedReports += reports.length; - Future.wait(reports).then((List> list) { + Future.wait(reports).catchError((dynamic error) { + return >[error]; + }).then((List> list) { // TODO(aam): Investigate why we are validating only first reload report, // which seems to be current behavior final Map firstReport = list.first; diff --git a/packages/flutter_tools/lib/src/vmservice.dart b/packages/flutter_tools/lib/src/vmservice.dart index d2dd7084151..30f047acf83 100644 --- a/packages/flutter_tools/lib/src/vmservice.dart +++ b/packages/flutter_tools/lib/src/vmservice.dart @@ -755,7 +755,7 @@ class VM extends ServiceObjectOwner { } on rpc.RpcException catch (error) { printError('Error ${error.code} received from application: ${error.message}'); printTrace('${error.data}'); - return null; + rethrow; } }