Index: pkg/analysis_server/lib/src/operation/operation_analysis.dart |
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
index 634ae5456e0b73e267ce44242194ed055a3ed0d4..dd72b4915fcbca0be90d16ed4ed303aa033c03b0 100644 |
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart |
@@ -48,12 +48,19 @@ scheduleImplementedNotification( |
for (String file in files) { |
CompilationUnitElement unitElement = server.getCompilationUnitElement(file); |
if (unitElement != null) { |
- ImplementedComputer computer = |
- new ImplementedComputer(searchEngine, unitElement); |
- await computer.compute(); |
- var params = new protocol.AnalysisImplementedParams( |
- file, computer.classes, computer.members); |
- server.sendNotification(params.toNotification()); |
+ try { |
+ ImplementedComputer computer = |
+ new ImplementedComputer(searchEngine, unitElement); |
+ await computer.compute(); |
+ var params = new protocol.AnalysisImplementedParams( |
+ file, computer.classes, computer.members); |
+ server.sendNotification(params.toNotification()); |
+ } catch (exception, stackTrace) { |
+ server.sendServerErrorNotification( |
+ 'Failed to send analysis.implemented notification.', |
+ exception, |
+ stackTrace); |
+ } |
} |
} |
} |