Мне интересно кое-что. Так как питон язык интерпретируемый и код в нем выполняется почти построчно, что если:
try:
print('trying doing some stuff')
raise RuntimeError
except: print('failed')
По идее тут должен высвечиватся trying doing some stuff и потом failed, но получается только failed. Как питон тогда проверяет будет ошибка, или нет. А если напрмер:
try:
print('attempt')
somefunction() # это вызовет ошибку runtimeerror
except: print('failed')
Как тут-то он понимает, что будет ошибка? Воспроизводит работу этого учатстка кода в какой-нибудь виртуалке? ОК, а если функция взяимодействует с базой данный, и 2ой запуск приведет к ошибке. Что тогда то?