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

Reply via email to