--- descr.py   2006-04-10 17:42:53.000000000 -0700
+++ descrPRE25.py	2006-10-11 22:26:43.000000000 -0700
@@ -6,7 +6,7 @@
 class FileDescr(object):
     saved = []
 
-    def __init__(self, name=None):
+    def __init__(self, name):
         self.name = name
 
     def __get__(self, obj, typ=None):
@@ -26,12 +26,12 @@
                 "could not read %r: %s" % self.name
 
     def __set__(self, obj, val):
-        f = open(self.name, 'w')
         try:
             try:
+                f = open(self.name, 'w')
                 pickle.dump(val, f)
                 FileDescr.saved.append(self.name)
-        except (TypeError, pickle.PicklingError), e:
+            except (IOError, TypeError, pickle.PicklingError), e:
                 raise AttributeError, \
                     "could not pickle %r" % self.name
         finally:
