Хоси кардани истисноҳои худ дар Python
Истисноҳое, ки дар Python тавассути пешфарз мавҷуданд, ҳамеша наметавонанд ҳама эҳтиёҷҳои моро дар ҳолатҳои гуногун қонеъ созанд. Аз ин рӯ, дар Python имконияти сохтани истисноҳои навъи худ вуҷуд дорад.
Барои эҷоди як истисно, бояд як синфи махсуси
ООП бо ёрии калимаи калидӣ class эълон кард.
Дар тарафи рост аз он номи истисно навишта мешавад,
ва пас аз ном дар қавсҳои даврӣ - навъи истисно:
class Истисно(навъи истисно):
pass
Биёед синфи хоси худ ToBigLength
барои гирифтани рӯйхатҳои хеле дароз эҷод кунем.
Дар қавсҳои даврии ин синф навъи истисноеро
менависем, ки он қобили гирифтан хоҳад буд.
Бигзор ин истиснои Exception бошад.
Дар бадани синф ҳоло метавонем pass нависем:
class ToBigLength(Exception):
pass
Биёед кори истиснои ҳозира эҷодшударо санҷем.
Барои ин сохтори try-except менависем,
ва истиснои худро бо ёрии фармони махсус raise мепартоем:
try:
raise ToBigLength
except ToBigLength:
print('хато: рӯйхат хеле калон аст')
Пас аз иҷрои рамз ин чиз бароварда мешавад:
'хато: рӯйхат хеле калон аст'
Як истисно барои гирифтани адади манфӣ эҷод кунед.
Як истисно барои гирифтани сифр эҷод кунед.