diff options
author | Cristian Maglie <c.maglie@arduino.cc> | 2021-05-27 10:30:17 +0300 |
---|---|---|
committer | Cristian Maglie <c.maglie@arduino.cc> | 2021-05-27 10:30:17 +0300 |
commit | 17f5719caf182eb33765fa6f5b4b65160f7d1154 (patch) | |
tree | 98516749558ccf5a749f22058fe19ada5c70cd5b | |
parent | c4109e78bc62a4f344cfb9abba065f8504235e31 (diff) |
Gracefully handle malformed additional board manager urls
-rw-r--r-- | arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java index 3e68d847e..b0db6ca19 100644 --- a/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java +++ b/arduino-core/src/cc/arduino/contributions/packages/ContributionsIndexer.java @@ -144,12 +144,17 @@ public class ContributionsIndexer { index.fillCategories(); } - private List<File> get3rdPartyIndexFiles() throws MalformedURLException { + private List<File> get3rdPartyIndexFiles() { List<File> indexFiles = new ArrayList<>(); for (String urlString : PreferencesData.getCollection(Constants.PREF_BOARDS_MANAGER_ADDITIONAL_URLS)) { - final URL url = new URL(urlString); - String filename = FilenameUtils.getName(url.getPath()); - indexFiles.add(getIndexFile(filename)); + URL url; + try { + url = new URL(urlString); + String filename = FilenameUtils.getName(url.getPath()); + indexFiles.add(getIndexFile(filename)); + } catch (MalformedURLException e) { + System.err.println(format(tr("Malformed Additional Board Manager URL '{0}': {1}"), urlString, e.getMessage())); + } } File[] testIndexFiles = preferencesFolder.listFiles((dir, name) -> { |