From 34fb7b71611f76f58ca38eab683d25c213e95b01 Mon Sep 17 00:00:00 2001 From: Jonathan Cobb Date: Tue, 17 Dec 2019 16:47:17 -0500 Subject: [PATCH] improve error handling --- .../wizard/model/entityconfig/ModelSetup.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/wizard-client/src/main/java/org/cobbzilla/wizard/model/entityconfig/ModelSetup.java b/wizard-client/src/main/java/org/cobbzilla/wizard/model/entityconfig/ModelSetup.java index 11cfd97..f92b160 100644 --- a/wizard-client/src/main/java/org/cobbzilla/wizard/model/entityconfig/ModelSetup.java +++ b/wizard-client/src/main/java/org/cobbzilla/wizard/model/entityconfig/ModelSetup.java @@ -109,7 +109,13 @@ public class ModelSetup { private static LinkedHashMap loadModels(String prefix, String[] models) { final LinkedHashMap modelJson = new LinkedHashMap<>(models.length); for (String model : models) { - final String json = stream2string(prefix + model + ".json"); + final String resourcePath = prefix + model + ".json"; + final String json; + try { + json = stream2string(resourcePath); + } catch (IllegalArgumentException e) { + return die("loadModels: model resource not found: "+resourcePath); + } try { // If the json is an array of strings, treat it like a manifest final String[] includes = fromJson(json, String[].class); @@ -127,6 +133,10 @@ public class ModelSetup { } catch (MismatchedInputException e) { log.debug("loadModels: including regular model file: "+model); modelJson.put(model, json); + + } catch (IllegalArgumentException e) { + throw e; + } catch (Exception e) { return die("loadModels("+prefix+", "+Arrays.toString(models)+"): "+e); }