The Most Diabolical Python Antipattern

Ian Kelly ian.g.kelly at
Fri Jan 30 16:42:04 CET 2015

On Fri, Jan 30, 2015 at 8:30 AM, Marko Rauhamaa <marko at> wrote:
> Ian Kelly <ian.g.kelly at>:
>> The bare raise re-raises the most recent exception that is being
>> handled. The "raise e" raises that exception specifically, which is
>> not the most recent in the case of a secondary exception.
> Scary. That affects all finally clauses. Must remember that.
> The pitfall is avoided by using the "except: pass" antipattern but then
> you lose exception chaining.

Like I suggested earlier, just don't catch the inner exception at all.
The result will be both exceptions propagated, chained in the proper

More information about the Python-list mailing list