Message 63785 - Python tracker
There is also a subtle bug in the issue2371 patch: $ cat x.py try: raise ValueError except ((ValueError,),): pass $ ./python -3 x.py x.py:3: DeprecationWarning: catching classes that do not inherit from BaseException is not allowed in 3.x. except ((ValueError,),): I am not sure if it would be acceptable to move warnings to PyErr_GivenExceptionMatches, but if not, the checking logic should reproduce PyErr_GivenExceptionMatches' recursive behavior.