On 2 Apr, 15:12, [EMAIL PROTECTED] wrote: > On Apr 2, 3:06 pm, [EMAIL PROTECTED] wrote: > > > > > Hi, > > > I found the following code on the net - > > > http://mail-archives.apache.org/mod_mbox/httpd-python-cvs/200509.mbox/[EMAIL > > PROTECTED] > > > def count(self): > > - db = sqlite.connect(self.filename, > > isolation_level=ISOLATION_LEVEL) > > - try: > > - try: > > - cur = db.cursor() > > - cur.execute("select count(*) from sessions") > > - return cur.fetchone()[0] > > - finally: > > - cur.close() > > - finally: > > - db.close() > > > I don't understand though why the second try is not after the line cur > > = db.cursor(). Can anyone explain for me why? > > > /Barry. > > Better question is why is there a try with no except... > > Better yet, WHY is there two TRY statements when there could quite > happily be only one... > > Towards what you are asking, I GUESS...because the author hoped to > handle the cases where cur failed to get assigned...but then > his .close method of it would likely not work anyway...I mean...does > this even work...YUCK
I shouldn't have written "Nested try...except" as the title, instead I mean "Nested try...finally". Sorry about that... Anyway, how would you do this? That is, use a finally to close the network connection and the cursor? Thanks for your help, Barry -- http://mail.python.org/mailman/listinfo/python-list