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; } }