From d18e13414008914ebc20ed639937eb18a34660ff Mon Sep 17 00:00:00 2001 From: comp500 Date: Mon, 24 Jun 2019 03:38:19 +0100 Subject: [PATCH] Better error reporting, fix NPE (stupid Gson) --- src/main/java/link/infra/packwiz/installer/Main.java | 8 +++++++- .../java/link/infra/packwiz/installer/UpdateManager.java | 8 +++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/link/infra/packwiz/installer/Main.java b/src/main/java/link/infra/packwiz/installer/Main.java index f649fb7..d514c97 100644 --- a/src/main/java/link/infra/packwiz/installer/Main.java +++ b/src/main/java/link/infra/packwiz/installer/Main.java @@ -122,7 +122,13 @@ public class Main { ui.executeManager(new Runnable(){ @Override public void run() { - new UpdateManager(uOptions, ui); + try { + new UpdateManager(uOptions, ui); + } catch (Exception e) { + // TODO: better error message? + ui.handleExceptionAndExit(e); + return; + } } }); } catch (Exception e) { diff --git a/src/main/java/link/infra/packwiz/installer/UpdateManager.java b/src/main/java/link/infra/packwiz/installer/UpdateManager.java index c640721..a61271f 100644 --- a/src/main/java/link/infra/packwiz/installer/UpdateManager.java +++ b/src/main/java/link/infra/packwiz/installer/UpdateManager.java @@ -110,16 +110,18 @@ public class UpdateManager { ui.submitProgress(new InstallProgress("Loading manifest file...")); Gson gson = new Gson(); - ManifestFile manifest; + ManifestFile manifest = null; try { manifest = gson.fromJson(new FileReader(Paths.get(opts.packFolder, opts.manifestFile).toString()), ManifestFile.class); - } catch (FileNotFoundException e) { - manifest = new ManifestFile(); + } catch (FileNotFoundException e) { // Do nothing } catch (JsonSyntaxException | JsonIOException e) { ui.handleExceptionAndExit(e); return; } + if (manifest == null) { + manifest = new ManifestFile(); + } ui.submitProgress(new InstallProgress("Loading pack file...")); GeneralHashingSource packFileSource;