From 93892c91e72f0cdfcbc20d1fc53666aecf59710f Mon Sep 17 00:00:00 2001 From: jberg Date: Thu, 4 Oct 2018 17:24:47 -0700 Subject: [PATCH] handle specific error types when fetching presets --- js/components/MilkdropWindow/index.js | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/js/components/MilkdropWindow/index.js b/js/components/MilkdropWindow/index.js index 8b4acfc8..c3a48b66 100644 --- a/js/components/MilkdropWindow/index.js +++ b/js/components/MilkdropWindow/index.js @@ -158,6 +158,7 @@ function presetNameFromURL(url) { return decodeURIComponent(presetName); } catch (e) { // if something goes wrong parsing url, just use url as the preset name + console.error(e); return url; } } @@ -182,7 +183,15 @@ async function loadInitialPreset() { return { [presetName]: responseBody }; } catch (e) { console.error(e); - alert(`Failed to load MilkDrop preset from ${presetUrl}`); + + if (e instanceof TypeError) { + // handle URL not existing + alert(`Failed to load MilkDrop preset from ${milkdropPresetUrl}`); + } else if (e instanceof Error) { + // handle URL bad response + alert(`Unable to load MilkDrop preset from ${milkdropPresetUrl}`); + } + return null; } } else if (milkdropPresetUrl) { @@ -196,7 +205,15 @@ async function loadInitialPreset() { return { [presetName]: { file: fileBlob } }; } catch (e) { console.error(e); - alert(`Failed to load MilkDrop preset from ${milkdropPresetUrl}`); + + if (e instanceof TypeError) { + // handle URL not existing + alert(`Failed to load MilkDrop preset from ${milkdropPresetUrl}`); + } else if (e instanceof Error) { + // handle URL bad response + alert(`Unable to load MilkDrop preset from ${milkdropPresetUrl}`); + } + return null; } }