JAL-4279 catch exceptions with fileLoader and report when we don’t get an alignment...
authorJames Procter <j.procter@dundee.ac.uk>
Thu, 7 Sep 2023 15:26:40 +0000 (16:26 +0100)
committerJames Procter <j.procter@dundee.ac.uk>
Thu, 7 Sep 2023 15:26:40 +0000 (16:26 +0100)
src/jalview/bin/Commands.java

index b1b8288..9cacc83 100644 (file)
@@ -247,9 +247,24 @@ public class Commands
           Console.debug(
                   "Opening '" + openFile + "' in new alignment frame");
           FileLoader fileLoader = new FileLoader(!headless);
-
-          af = fileLoader.LoadFileWaitTillLoaded(openFile, protocol,
-                  format);
+          boolean xception=false;
+          try {
+            af = fileLoader.LoadFileWaitTillLoaded(openFile, protocol,
+                    format);
+          } catch (Throwable thr)
+          {
+            xception=true;
+            Console.error("Couldn't open '"+openFile+"' as "+format+" "+thr.getLocalizedMessage()+ " (Enable debug for full stack trace)");
+            Console.debug("Exception when opening '"+openFile+"'",thr);
+          }
+          finally
+          {
+            if (af==null && !xception)
+            {
+              Console.info("Ignoring '"+openFile+"' - no alignment data found.");
+              continue;
+            }
+          }
 
           // colour alignment?
           String colour = ArgParser.getFromSubValArgOrPref(avm, av,