Блок else дар бастани истисноҳо дар Python
Ба сохтори try-except инчунин метавон
блоки else илова кард. Нюанси муҳим
ин аст, ки коде, ки дар блоги else
ҷойгир карда шудааст, агар то он дар
try-except ягон истиснои нагирифта бошад,
фаъол хоҳад шуд.
Бигзор мо рӯйхате дошта бошем:
lst = [1, 2, 3]
Дар сохтори try-except бастани истисноро
барои унсури мавҷуднабудаи рӯйхат нависем:
try:
print(lst[4])
except IndexError:
print('хато: унсур вуҷуд надорад')
Акнун биёед дар блоги else
барориши ҳаҷми умумии унсурҳои рӯйхатро муайян кунем:
try:
print(lst[4])
except IndexError:
print('хато: унсур вуҷуд надорад')
else:
print(sum(lst))
Агар код дар блоги try ба унсури
мавҷуднабуда дастрасӣ пайдо кунад, пас дар консол
паёми хатопе пайдо мешавад:
'хато: унсур вуҷуд надорад'
Акнун дар блоги try барориши унсуреро муайян кунем,
ки албатта дар рӯйхат вуҷуд дорад:
try:
print(lst[0])
except IndexError:
print('хато: унсур вуҷуд надорад')
else:
print(sum(lst))
Пас аз иҷрои код дар консол ду адад пайдо мешавад:
унсур, ки дар try муайян шуда буд,
ва ҳаҷми умумии унсурҳои рӯйхат:
1
6
Рӯйхат дода шудааст:
lst = [1, 2, 3]
Код нависед, то истиснои баробар кардани бар сифриро бигиред. Дар сурате, ки ин истисно пайдо нашавад, бигзор дарозии рӯйхат барорида шавад.