Nigdy nie róbcie tak:

try:
    # ...
except FooException, e:
    # ...
    raise e

Wyjątki przepuszcza się tak:

try:
    # ...
except FooException:
    # ...
    raise

Istotna różnica polega na niezniszczeniu całego stosu wywołań. Z góry dziękuję.