From 73bf9b8330fcd867650b6bb3880c19a4e551c386 Mon Sep 17 00:00:00 2001 From: Ricardo Costa Date: Thu, 29 Jan 2026 19:00:44 +0000 Subject: [PATCH] Handle Verifier Exceptions --- .../src/main/java/LJDiagnosticsHandler.java | 31 ++++++++++++------- 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/server/src/main/java/LJDiagnosticsHandler.java b/server/src/main/java/LJDiagnosticsHandler.java index 9d3a828..1346f62 100644 --- a/server/src/main/java/LJDiagnosticsHandler.java +++ b/server/src/main/java/LJDiagnosticsHandler.java @@ -14,6 +14,7 @@ import liquidjava.diagnostics.Diagnostics; import liquidjava.diagnostics.ErrorPosition; import liquidjava.diagnostics.LJDiagnostic; +import liquidjava.diagnostics.errors.CustomError; import liquidjava.diagnostics.errors.LJError; import liquidjava.diagnostics.warnings.LJWarning; import utils.PathUtils; @@ -31,19 +32,25 @@ public class LJDiagnosticsHandler { public static LJDiagnostics getLJDiagnostics(String path) { List errors = new ArrayList<>(); List warnings = new ArrayList<>(); - - CommandLineLauncher.launch(path); - Diagnostics diagnostics = Diagnostics.getInstance(); - if (diagnostics.foundWarning()) { - warnings.addAll(diagnostics.getWarnings()); + try { + CommandLineLauncher.launch(path); + Diagnostics diagnostics = Diagnostics.getInstance(); + if (diagnostics.foundWarning()) { + warnings.addAll(diagnostics.getWarnings()); + } + if (diagnostics.foundError()) { + System.out.println("Failed verification"); + errors.addAll(diagnostics.getErrors()); + } else { + System.out.println("Passed verification"); + } + return new LJDiagnostics(errors, warnings); + } catch (Exception e) { + System.err.println("LiquidJava verifier exception: " + e.getMessage()); + e.printStackTrace(); + errors.add(new CustomError("LiquidJava verification failed, check for Java errors")); + return new LJDiagnostics(errors, warnings); } - if (diagnostics.foundError()) { - System.out.println("Failed verification"); - errors.addAll(diagnostics.getErrors()); - } else { - System.out.println("Passed verification"); - } - return new LJDiagnostics(errors, warnings); } /**