diff --git a/build.xml b/build.xml
index ef554bd5c..a1353b814 100644
--- a/build.xml
+++ b/build.xml
@@ -239,12 +239,12 @@
-
+
-
+
@@ -352,13 +352,13 @@
-
+
-
+
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
index 773623af0..5a7fe4e17 100644
--- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/graph/Graph.java
@@ -817,7 +817,13 @@ public class Graph {
}
private void getPrecontinues(String path, BaseLocalData localData, GraphPart parent, GraphPart part, List allParts, List loops, List stopPart) throws InterruptedException {
- markLevels(path, localData, part, allParts, loops);
+ try {
+ markLevels(path, localData, part, allParts, loops);
+ } catch (InterruptedException iex) {
+ throw iex;
+ } catch (Throwable ex) {
+ //It is unusual code so markLevels failed, nevermind, it can still work
+ }
//Note: this also marks part as precontinue when there is if
/*
while(k<10){
@@ -880,8 +886,7 @@ public class Graph {
stopPart = new ArrayList<>();
}
if (recursionLevel > allParts.size() + 1) {
- Logger.getLogger(Graph.class.getName()).log(Level.WARNING, "{0} : markLevels max recursion level reached", path);
- return;
+ throw new RuntimeException(path + ": markLevels max recursion level reached");
}
if (debugMode) {