]> source.dussan.org Git - tigervnc.git/commitdiff
Make exception handling more user friendly. Not all exceptions are 'errors' (for...
authorBrian Hinz <bphinz@users.sourceforge.net>
Sun, 16 Dec 2012 20:35:39 +0000 (20:35 +0000)
committerBrian Hinz <bphinz@users.sourceforge.net>
Sun, 16 Dec 2012 20:35:39 +0000 (20:35 +0000)
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5021 3789f03b-4d11-0410-bbf8-ca57d06f2519

java/com/tigervnc/network/SocketDescriptor.java
java/com/tigervnc/network/TcpListener.java
java/com/tigervnc/network/TcpSocket.java
java/com/tigervnc/rdr/FdOutStream.java
java/com/tigervnc/rdr/TLSOutStream.java
java/com/tigervnc/vncviewer/CConn.java
java/com/tigervnc/vncviewer/VncViewer.java

index 4c5a23afe6816ba06befb3f7769e818b39a01ad6..22f0a3d8f0aa35bf987562ebdd3bfde530bd7dce 100644 (file)
@@ -39,13 +39,13 @@ public class SocketDescriptor implements FileDescriptor {
       writeSelector = Selector.open();
       readSelector = Selector.open();
     } catch (IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     try {
       channel.register(writeSelector, SelectionKey.OP_WRITE);
       channel.register(readSelector, SelectionKey.OP_READ);
     } catch (java.nio.channels.ClosedChannelException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }
 
@@ -54,7 +54,7 @@ public class SocketDescriptor implements FileDescriptor {
       channel.socket().shutdownInput();
       channel.socket().shutdownOutput();
     } catch(IOException e) {
-      throw new IOException(e.toString());
+      throw new IOException(e.getMessage());
     }
   }
 
@@ -62,7 +62,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       channel.close();
     } catch(IOException e) {
-      throw new IOException(e.toString());
+      throw new IOException(e.getMessage());
     }
   }
 
@@ -80,7 +80,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.read(b);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     if (n <= 0)
       return (n == 0) ? -1 : 0;
@@ -99,7 +99,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.write(b);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     b.clear();
     return n;
@@ -129,7 +129,7 @@ public class SocketDescriptor implements FileDescriptor {
         }
       }
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     return n;
   }
@@ -139,7 +139,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.write(buf);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     return n;
   }
@@ -151,7 +151,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.write(buf, offset, length);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     return n;
   }
@@ -161,7 +161,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.read(buf);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     return n;
   }
@@ -173,7 +173,7 @@ public class SocketDescriptor implements FileDescriptor {
     try {
       n = channel.read(buf, offset, length);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     return n;
   }
@@ -232,7 +232,7 @@ public class SocketDescriptor implements FileDescriptor {
       writeSelector = Selector.open();
       readSelector = Selector.open();
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     try {
       channel.register(writeSelector, SelectionKey.OP_WRITE);
index d56cd065b6ad11df34d2c5e2a7a820b74ccaa7e3..e6588699c512b9ad34d568c020543171f9a16717 100644 (file)
@@ -62,7 +62,7 @@ public class TcpListener extends SocketListener  {
         addr = InetAddress.getByName("0.0.0.0");
       }
     } catch (UnknownHostException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   
     try {
@@ -120,7 +120,7 @@ public class TcpListener extends SocketListener  {
     try {
       new_sock.socket().setTcpNoDelay(true);
     } catch (java.net.SocketException e) {
-      throw new SocketException(e.toString());
+      throw new SocketException(e.getMessage());
     }
 
     // Create the socket object & check connection is allowed
@@ -128,7 +128,7 @@ public class TcpListener extends SocketListener  {
     try {
       fd = new SocketDescriptor();
     } catch (java.lang.Exception e) {
-      throw new SocketException(e.toString());
+      throw new SocketException(e.getMessage());
     }
     fd.setChannel(new_sock);
     TcpSocket s = new TcpSocket(fd);
index cdc05016a9c2987826646d13c4bcd603876864c7..bd5fe2b2fbfd6ef7f9a387f7f7940824e51946c5 100644 (file)
@@ -108,7 +108,7 @@ public class TcpSocket extends Socket {
       try {
         ((SocketDescriptor)getFd()).close();
       } catch (IOException e) {
-        throw new Exception(e.toString());
+        throw new Exception(e.getMessage());
       }
   }
 
@@ -148,7 +148,7 @@ public class TcpSocket extends Socket {
       SocketAddress myaddr = ((SocketDescriptor)getFd()).getLocalAddress();
       return myaddr.equals(peeraddr);
     } catch (IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }
 
@@ -157,7 +157,7 @@ public class TcpSocket extends Socket {
     try {
       ((SocketDescriptor)getFd()).shutdown();
     } catch (IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }
   
index e5a55e0d9b4c4f5ad2d106b8daac64eefb8b90f9..56b660fa11485b65864cd679c030b38a86b2159d 100644 (file)
@@ -107,7 +107,7 @@ public class FdOutStream extends OutStream {
         n = fd.select(SelectionKey.OP_WRITE, tv);
       } catch (java.lang.Exception e) {
         System.out.println(e.toString());
-        throw new Exception(e.toString());
+        throw new Exception(e.getMessage());
       }
           
     } while (n < 0);
@@ -117,7 +117,7 @@ public class FdOutStream extends OutStream {
     try {
       n = fd.write(data, dataPtr, length);
     } catch (java.lang.Exception e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     
     return n;
index 355df81705898c6004124878bb5921183b6533ea..612965250bfea5df96faa02d01b7d01d5804670f 100644 (file)
@@ -79,7 +79,7 @@ public class TLSOutStream extends OutStream {
     try {
       n = manager.write(data, dataPtr, length);
     } catch (java.io.IOException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
     //if (n == GNUTLS_E_INTERRUPTED || n == GNUTLS_E_AGAIN)
     //  return 0;
index e51cb444afe0bcab44e83a5c03ba4daff6c30c90..610aef984bf9f515818d5b82ab9a9816b8e7e742 100644 (file)
@@ -134,7 +134,7 @@ public class CConn extends CConnection
       try {
         sock = new TcpSocket(serverHost, serverPort);
       } catch (java.lang.Exception e) {
-        throw new Exception(e.toString());
+        throw new Exception(e.getMessage());
       }
       vlog.info("connected to host "+serverHost+" port "+serverPort);
     }
@@ -177,7 +177,7 @@ public class CConn extends CConnection
         wait(1);
       }
     } catch (java.lang.InterruptedException e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }  
 
@@ -299,7 +299,7 @@ public class CConn extends CConnection
       vlog.info("Redirected to "+host+":"+port);
       VncViewer.newViewer(viewer, sock, true);
     } catch (java.lang.Exception e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }
 
@@ -698,7 +698,7 @@ public class CConn extends CConnection
       if (sock != null)
         sock.shutdown();
     } catch (java.lang.Exception e) {
-      throw new Exception(e.toString());
+      throw new Exception(e.getMessage());
     }
   }
 
index cf38760f9da27af00a7f3bfa4fc1cbf448da939a..ebd90b47189e26fce76e7941febe94a3d8060fbd 100644 (file)
@@ -371,12 +371,18 @@ public class VncViewer extends java.applet.Applet implements Runnable
       while (!cc.shuttingDown)
         cc.processMsg();
     } catch (java.lang.Exception e) {
-      if (cc == null || !cc.shuttingDown) {
+      if (e instanceof EndOfStream) {
+        vlog.info(e.getMessage());
+      } else if (cc == null || !cc.shuttingDown) {
         e.printStackTrace();
-        JOptionPane.showMessageDialog(null,
-          e.toString(),
-          "VNC Viewer : Error",
-          JOptionPane.ERROR_MESSAGE);
+        JOptionPane op = 
+          new JOptionPane(e.getMessage(), JOptionPane.WARNING_MESSAGE);
+        JDialog dlg = op.createDialog("TigerVNC Viewer");
+        ClassLoader cl = this.getClass().getClassLoader();
+        ImageIcon icon = 
+          new ImageIcon(cl.getResource("com/tigervnc/vncviewer/tigervnc.ico"));
+        dlg.setIconImage(icon.getImage());
+        dlg.setVisible(true);
       } else {
         if (!cc.shuttingDown)
           vlog.info(e.toString());