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;