try/except in a loop
Prasad, Ramit
ramit.prasad at jpmorgan.com
Wed May 2 17:00:58 EDT 2012
> >> for obj in objs:
> >> try:
> >> obj.make()
> >> except Exception:
> >> continue
> >> else:
> >> break
> >> else:
> >> raise RuntimeError('No object worked')
> >
> >
> > I think you misunderstand the else clauses.
> >
> >>>> for obj in [ 1,2,3,4 ]:
> > ... try:
> > ... print obj
> > ... except Exception:
> > ... print 'EXCEPTION'
> > ... else:
> > ... print 'NO EXCEPTION'
> > ... else:
> > ... print 'NO OBJECTS'
> > ...
> > 1
> > NO EXCEPTION
> > 2
> > NO EXCEPTION
> > 3
> > NO EXCEPTION
> > 4
> > NO EXCEPTION
> > NO OBJECTS
>
> You left out the break in the try clause's else that I had. That break
> statement causes the for loop to exit early if there is no exception,
> and thus the for loop's else clause does not run:
>
> >>> for obj in [ 1,2,3,4 ]:
> ... try:
> ... print obj
> ... except Exception:
> ... print 'EXCEPTION'
> ... else:
> ... print 'NO EXCEPTION'
> ... break
> ... else:
> ... print 'NO OBJECTS'
> ...
> 1
> NO EXCEPTION
Whoops, you are right. My apologies Chris!
Ramit
Ramit Prasad | JPMorgan Chase Investment Bank | Currencies Technology
712 Main Street | Houston, TX 77002
work phone: 713 - 216 - 5423
--
This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
More information about the Python-list
mailing list