class General(Exception): pass
class Specific1(General): pass
class Specific2(General): pass

def raiser0():
    X = General()            # Zgłoszenie instancji klasy nadrzędnej
    raise X

def raiser1():
    X = Specific1()          # Zgłoszenie instancji klasy podrzędnej
    raise X

def raiser2():
    X = Specific2()          # Zgłoszenie instancji innej klasy podrzędnej
    raise X

for func in (raiser0, raiser1, raiser2):
    try:
        func()
    except General:          # Dopasowanie General lub którejś z jej podklas
        import sys
        print('przechwycono:', sys.exc_info()[0])

