Co wypisze program w języku Python (każdy napis w osobnym wierszu)?
try:
x = int("12a")
print("A")
except ValueError:
print("B")
finally:
print("C")Dlaczego tak
Wywołanie int("12a") zgłasza wyjątek ValueError, bo napis nie jest poprawną liczbą, więc reszta bloku try — w tym print("A") — zostaje pominięta i sterowanie przechodzi do pasującego bloku except, który wypisuje B. Blok finally wykonuje się zawsze, niezależnie od tego, czy wyjątek wystąpił, więc na końcu pojawia się C. Odpowiedź tylko z B pomija właśnie gwarancję wykonania bloku finally.