diff --git a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
index 15364ae679ae51dc9bc8d97e0aadb20ddea6bf21..a754761719a6703c084c59d074979ea1bab48eb4 100644
--- a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
+++ b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
@@ -3,8 +3,6 @@ package net.leverjs;
 import java.lang.Math;
 
 import java.io.File;
-import java.io.PrintWriter;
-import java.io.StringWriter;
 import java.io.BufferedReader;
 import java.io.DataOutputStream;
 import java.io.InputStreamReader;
@@ -101,13 +99,9 @@ public class LeverscIJ implements PlugInFilter
             DataHeader header = make_header(meta);
             send_data(fignum, header);
         }
-        catch (Exception e)
+        catch (Throwable e)
         {
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            e.printStackTrace(pw);
-
-            IJ.log(String.format("ERROR:\n %s", sw.toString()));
+            IJ.handleException(e);
         }
     }
 
@@ -334,12 +328,10 @@ public class LeverscIJ implements PlugInFilter
     {
         GenericDialog gd = new GenericDialog("View in Figure:");
         gd.addNumericField("Figure Number: ", 1);
+        gd.hideCancelButton();
 
         gd.showDialog();
-        if ( gd.wasCanceled() )
-            return -1;
-        else
-            return (int)gd.getNextNumber();
+        return (int)gd.getNextNumber();
     }
 
     private boolean init_leversc(int fignum)
@@ -395,7 +387,7 @@ public class LeverscIJ implements PlugInFilter
 
             conn.disconnect();
         }
-        catch (Exception e)
+        catch (Throwable e)
         {
             return false;
         }