slow try statements in python?

Greg Ewing (using me at
Mon Feb 17 23:57:21 CET 2003

Mark Higgins wrote:

> I've seen quite a few examples of python code where try statements are 
> used to control the flow of a program... seems reasonable, but with my 
> background in C++ I'm always concerned that try statements are slow.
> Is this a concern in python?

Not really. Raising and catching an exception is no more
expensive than many other things that Python programs do
a lot of, e.g. calling methods.

C++ implementations tend to be heavily optimised towards
the case where no exceptions are raised, on the assumption
that exceptions truly are "exceptional". But there is no
such bias in Python -- you're meant to be able to use
exceptions freely.

In fact, exceptions are used heavily under the covers
in places where you might not expect them. Every for-loop,
for example, is terminated by an exception. So if you're
afraid of exceptions, you'd better be afraid of using
for-loops, too!-)

Greg Ewing, Computer Science Dept,
University of Canterbury,	
Christchurch, New Zealand

More information about the Python-list mailing list