Skip to content

Commit 2f61ba0

Browse files
authored
Handle Verifier Exceptions (#46)
1 parent 2dd1dae commit 2f61ba0

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

server/src/main/java/LJDiagnosticsHandler.java

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import liquidjava.diagnostics.Diagnostics;
1515
import liquidjava.diagnostics.ErrorPosition;
1616
import liquidjava.diagnostics.LJDiagnostic;
17+
import liquidjava.diagnostics.errors.CustomError;
1718
import liquidjava.diagnostics.errors.LJError;
1819
import liquidjava.diagnostics.warnings.LJWarning;
1920
import utils.PathUtils;
@@ -31,19 +32,25 @@ public class LJDiagnosticsHandler {
3132
public static LJDiagnostics getLJDiagnostics(String path) {
3233
List<LJError> errors = new ArrayList<>();
3334
List<LJWarning> warnings = new ArrayList<>();
34-
35-
CommandLineLauncher.launch(path);
36-
Diagnostics diagnostics = Diagnostics.getInstance();
37-
if (diagnostics.foundWarning()) {
38-
warnings.addAll(diagnostics.getWarnings());
35+
try {
36+
CommandLineLauncher.launch(path);
37+
Diagnostics diagnostics = Diagnostics.getInstance();
38+
if (diagnostics.foundWarning()) {
39+
warnings.addAll(diagnostics.getWarnings());
40+
}
41+
if (diagnostics.foundError()) {
42+
System.out.println("Failed verification");
43+
errors.addAll(diagnostics.getErrors());
44+
} else {
45+
System.out.println("Passed verification");
46+
}
47+
return new LJDiagnostics(errors, warnings);
48+
} catch (Exception e) {
49+
System.err.println("LiquidJava verifier exception: " + e.getMessage());
50+
e.printStackTrace();
51+
errors.add(new CustomError("LiquidJava verification failed, check for Java errors"));
52+
return new LJDiagnostics(errors, warnings);
3953
}
40-
if (diagnostics.foundError()) {
41-
System.out.println("Failed verification");
42-
errors.addAll(diagnostics.getErrors());
43-
} else {
44-
System.out.println("Passed verification");
45-
}
46-
return new LJDiagnostics(errors, warnings);
4754
}
4855

4956
/**

0 commit comments

Comments
 (0)