fix future error handling (#1990)
diff --git a/tool/crawl.dart b/tool/crawl.dart
index 291a8fe..13eea79 100644
--- a/tool/crawl.dart
+++ b/tool/crawl.dart
@@ -175,28 +175,30 @@
Future<List<String>> _fetchSdkTags() {
final github = GitHub();
final slug = RepositorySlug('dart-lang', 'sdk');
+ return github.repositories
+ .listTags(slug)
+ .map((t) => t.name)
+ .where((t) {
+ // Filter on numeric release tags.
+ if (!t.startsWith(RegExp(r'\d+'))) {
+ return false;
+ }
- try {
- return github.repositories.listTags(slug).map((t) => t.name).where((t) {
- // Filter on numeric release tags.
- if (!t.startsWith(RegExp(r'\d+'))) {
- return false;
- }
-
- // Filter on bottom.
- try {
- var version = Version.parse(t);
- return version.compareTo(bottomDartSdk) >= 0;
- } on FormatException {
- return false;
- }
- }).toList();
- } on Exception catch (e) {
- print('exception caught fetching SDK tags');
- print(e);
- print('(using cached SDK values)');
- return Future.value(<String>[]);
- }
+ // Filter on bottom.
+ try {
+ var version = Version.parse(t);
+ return version.compareTo(bottomDartSdk) >= 0;
+ } on FormatException {
+ return false;
+ }
+ })
+ .toList()
+ .catchError((e) {
+ print('exception caught fetching SDK tags');
+ print(e);
+ print('(using cached SDK values)');
+ return Future.value(<String>[]);
+ });
}
Future<int> _readLatestMinorVersion() async {