There was an error on exit if no sys.exitfunc was defined. Issue 1647.
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 4eb64d6..6e91982 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -206,7 +206,10 @@
 
     """
     if no_exitfunc:
-        del sys.exitfunc
+        try:
+            del sys.exitfunc
+        except AttributeError:
+            pass
     sys.exit(0)
 
 class MyRPCServer(rpc.RPCServer):