package ethanjones.cubes.launcher;

import javax.swing.JOptionPane;

public class UncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
  public static final UncaughtExceptionHandler INSTANCE = new UncaughtExceptionHandler();

  private UncaughtExceptionHandler() {

  }

  @Override
  public void uncaughtException(Thread t, Throwable e) {
    JOptionPane.showMessageDialog(null, e.toString(), "Cubes Launcher Error", JOptionPane.ERROR_MESSAGE);
  }
}

@@ -350,16 +350,154 @@
 le e) %7B%0A
+    try %7B%0A      System.err.println(%22Uncaught exception:%22);%0A      e.printStackTrace();%0A    %7D catch (Exception ignored) %7B%0A    %7D%0A    try %7B%0A  
     JOpt
@@ -594,14 +594,54 @@
 SSAGE);%0A
+    %7D catch (Exception ignored) %7B%0A    %7D%0A
   %7D%0A%7D%0A

Print uncaught exceptions to System.err as well as displaying dialog box