[EMAIL PROTECTED] wrote: > I tried what you said and it looked like maybe AttributeError, but that > didn't work either. > > This code snippet: > > import shelve > from traceback import format_exc > > try: > db = shelve.open("meh", "r") > except: > print format_exc() > > Gave me this output: > Traceback (most recent call last): > File "test.py", line 5, in ? > db = shelve.open("meh", "r") > File "/usr/lib/python2.4/shelve.py", line 231, in open > return DbfilenameShelf(filename, flag, protocol, writeback, binary) > File "/usr/lib/python2.4/shelve.py", line 212, in __init__ > Shelf.__init__(self, anydbm.open(filename, flag), protocol, > writeback, binary) > File "/usr/lib/python2.4/anydbm.py", line 77, in open > raise error, "need 'c' or 'n' flag to open new db" > error: need 'c' or 'n' flag to open new db > > Exception exceptions.AttributeError: "DbfilenameShelf instance has no > attribute 'writeback'" in ignored > > Do you know what the error is?
No. If you tried catching AttributeError and it didn't work then I'd guess that the AttributeError is a secondary result of the initial error. This part of the traceback, > File "/usr/lib/python2.4/anydbm.py", line 77, in open > raise error, "need 'c' or 'n' flag to open new db" > error: need 'c' or 'n' flag to open new db indicates that some sort of custom error, probably defined in the anydbm.py module. Catching the execption and binding it to a var, >>> try: ... db = shelve.open("meh", "r") ... except Exception, err: ... E = err ... Exception exceptions.AttributeError: "DbfilenameShelf instance has no attribute 'writeback'" in ignored >>> E <anydbm.error instance at 0xb7d8270c> So: >>> from anydbm import error >>> try: ... db = shelve.open("meh", "r") ... except error: ... print 'Aha! got it!' ... Aha! got it! Exception exceptions.AttributeError: "DbfilenameShelf instance has no attribute 'writeback'" in ignored Well, that catches the error, but I don't know what's going on with the additional AttributeError or what to do about it. Peace, ~Simon -- http://mail.python.org/mailman/listinfo/python-list