Improve subprocess link error notification
M NEWS.txt
M PyShell.py
M rpc.py
diff --git a/Lib/idlelib/rpc.py b/Lib/idlelib/rpc.py
index 402cfa7..3bac6a3 100644
--- a/Lib/idlelib/rpc.py
+++ b/Lib/idlelib/rpc.py
@@ -330,9 +330,10 @@
             try:
                 r, w, x = select.select([], [self.sock], [])
                 n = self.sock.send(s[:BUFSIZE])
-            except (AttributeError, socket.error):
-                # socket was closed
-                raise IOError
+            except (AttributeError, TypeError):
+                raise IOError, "socket no longer exists"
+            except socket.error:
+                raise
             else:
                 s = s[n:]