Index: pkg/analyzer/lib/src/generated/resolver.dart |
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart |
index d74e92556dc052cd46a05a82d54d74cd78e05994..48aeaaffb8735dad8acfb9961065ad7f0ca37082 100644 |
--- a/pkg/analyzer/lib/src/generated/resolver.dart |
+++ b/pkg/analyzer/lib/src/generated/resolver.dart |
@@ -3790,14 +3790,18 @@ class ExitDetector extends GeneralizingAstVisitor<bool> { |
@override |
bool visitTryStatement(TryStatement node) { |
- if (_nodeExits(node.body)) { |
+ if (_nodeExits(node.finallyBlock)) { |
return true; |
} |
- Block finallyBlock = node.finallyBlock; |
- if (_nodeExits(finallyBlock)) { |
- return true; |
+ if (!_nodeExits(node.body)) { |
+ return false; |
} |
- return false; |
+ for (CatchClause c in node.catchClauses) { |
+ if (!_nodeExits(c.body)) { |
+ return false; |
+ } |
+ } |
+ return true; |
} |
@override |