def action3():
    print(1 + [])              # Wygenerowanie wyjątku TypeError

def action2():
    try:                       # Najbardziej aktualna pasująca instrukcja try
        action3()
    except TypeError:          
        print('wewnętrzne try')     # Dopasowanie usuwa wyjątek
        raise                  # Chyba że zostanie ponownie zgłoszony ręcznie

def action1():
    try:
        action2()
    except TypeError:
        print('zewnętrzne try')     # Tutaj tylko jeśli action2 ponownie zgłasza wyjątek

if __name__ == '__main__': action1()

