පයිතන් හි විවිධ අවස්ථා අන්තරායන් අවහිර කිරීම
එකම කේතය තුළ විවිධ ආකාරයේ අවස්ථා අන්තරායන් අවහිර කිරීමට අවශ්ය විය හැකිය.
බිංදුවෙන් බෙදීමේදී අවස්ථා අන්තරායක් අල්ලා ගැනීමට අපට අවශ්ය යැයි සිතන්න. මෙම ආකාරයේ දෝෂයක් සඳහා පහත අවස්ථා අන්තරාය ඇති වේ:
ZeroDivisionError: division by zero
එය අල්ලා ගැනීමට, අවස්ථා අන්තරායේ නම
except කොටසේ සටහන් කළ යුතුය:
try:
print(1 / 0)
except ZeroDivisionError:
print('error: do not divide by zero')
එසේම අපට ලැයිස්තුවක් ඇතැයි සිතන්න:
lst = [1, 2, 3]
try කොටසේ වෙනත් විය හැකි දෝෂයක් සහිත
කේතයක්, උදාහරණයක් ලෙස නොපවතින මූලද්රව්යක්
ප්රතිදානය කිරීම, සැකසූ විට, එම අවස්ථා අන්තරාය
except කොටසෙන් අල්ලා නොගන්නා අතර ඉදිරියට
ගොස් කොන්සෝලයේ පෙන්වනු ඇත. එහි ප්රතිඵලයක් ලෙස
කේත ක්රියාකාරිත්වය නතර වේ:
lst = [1, 2, 3]
try:
print(lst[4]) # IndexError: list index out of range ප්රතිදානය කරයි
except ZeroDivisionError:
print('error: do not divide by zero')
මෙවැනි තත්ත්වයක් විසඳීම සඳහා, එක් එක් කොටසේ අදාළ අවස්ථා අන්තරායේ වර්ගයේ නම නියම කළ යුතුය. අපගේ කේතයට නොමැති මූලද්රව්ය සඳහා වන අවස්ථා අන්තරාය එක් කරමු:
try:
print(lst[4])
except ZeroDivisionError:
print('error: do not divide by zero')
except IndexError:
print('error: elem is not exist')
පහත කේතය ලබා දී ඇත:
txt = '2'
res1 = txt + 3
res2 = txt1
res1 සහ res2 විචල්යවල
පෙන්වා ඇති අවස්ථා අන්තරායන් අවහිර කිරීමට
කේතය ලියන්න.