పైథాన్‌లో మినహాయింపులను ఎలా నిర్వహించాలి

పైథాన్‌లో మినహాయింపులను ఎలా నిర్వహించాలి

పని చేయడంలో విఫలమైన మీ ప్రోగ్రామ్‌లోని భాగాల కోసం దోష సందేశాలను అనుకూలీకరించడానికి మరియు ప్రదర్శించడానికి మీ సామర్థ్యం మినహాయింపు నిర్వహణ.





మీరు ఒక వెబ్‌సైట్‌ను నిర్మిస్తున్నా, API, మాడ్యూల్ లేదా పైథాన్‌ని ఉపయోగించి ఏదైనా ఇతర ఉత్పత్తిని తయారు చేసినా, మినహాయింపులను సమర్థవంతంగా నిర్వహించగల మీ సామర్థ్యం లోపానికి కారణాన్ని స్పష్టంగా తెలియజేయడానికి మిమ్మల్ని అనుమతిస్తుంది.





ఇక్కడ, పైథాన్‌లో మీరు మినహాయింపులను ఎలా నిర్వహించవచ్చో మేము పరిశీలిస్తాము.





పైథాన్‌లో మినహాయింపు నిర్వహణ ఎలా పనిచేస్తుంది

మీరు మినహాయింపులను లేవనెత్తినప్పుడు, కోడ్ బ్లాక్ విఫలమైనప్పుడల్లా సందేశాన్ని తీసుకురావాలని మీరు పైథాన్‌కి చెప్తున్నారు. మినహాయింపు నిర్వహణ అనేది బరువును ఎత్తడానికి ప్రయత్నించమని చెప్పడం లాంటిది. మరియు వారు చేయలేకపోతే, వారు మీకు తెలియజేయాలి.

అయితే, పైథాన్‌లో మినహాయింపుని పెంచడానికి, మీరు పైథాన్‌కి ఒక నిర్దిష్ట బ్లాక్ కోడ్‌ని ప్రయత్నించి అమలు చేయమని చెబుతారు. ఆ బ్లాక్ విఫలమైతే, విఫలమైన కోడ్‌కు నిర్వచించిన మినహాయింపును పెంచమని మీరు పైథాన్‌ను అడగవచ్చు.



పైథాన్ ప్రోగ్రామింగ్‌లో మీరు ఎప్పుడు మినహాయింపులను ఉపయోగించాలి?

చాలా సందర్భాలలో, మీరు మినహాయింపులను ఉపయోగించి ప్రామాణిక పైథాన్ లోపాలను ముసుగు చేయవచ్చు. కానీ మీరు అప్రమత్తంగా ఉండాలి, ఎందుకంటే ఇలా చేయడం వల్ల డీబగ్గింగ్ సమస్యలు ఏర్పడవచ్చు. పర్యవసానంగా, చివరికి బగ్ యొక్క మూల కారణాన్ని గుర్తించడం మీకు కష్టంగా అనిపించవచ్చు.

అందువల్ల, మీరు మీ కోడ్‌ని తగినంతగా పరీక్షించినప్పుడు మినహాయింపులను ఉపయోగించాలి మరియు అది పని చేస్తుందని మీకు ఖచ్చితంగా తెలుసు. అంతిమంగా, కోడ్ కంటే యూజర్ ముగింపు నుండి ఉత్పన్నమయ్యే సంభావ్య లోపాలను నిర్వహించడానికి వాటిని ఉపయోగించడం ఉత్తమ పద్ధతి.





మరో మాటలో చెప్పాలంటే, మీ ప్రోగ్రామ్‌ను ఎలా ఉపయోగించాలో వినియోగదారులకు మార్గనిర్దేశం చేయడానికి మీరు మినహాయింపులను హెచ్చరిక సాధనంగా ఉపయోగించవచ్చు.

పైథాన్ మినహాయింపులను నిర్వహించడం

పైథాన్‌లో మినహాయింపులను నిర్వహించడానికి, మీరు ముందుగా మీ కోడ్‌ను a లో చుట్టాలి ప్రయత్నించండి ... తప్ప బ్లాక్. అప్పుడప్పుడు, మీరు a ని చేర్చాల్సి రావచ్చు చివరకు మీ అవసరాలను బట్టి తదుపరి చర్యలను నిర్వహించడానికి ప్రకటన.





పైథాన్ మినహాయింపుల కోడింగ్ భావన సాధారణంగా ఇలా కనిపిస్తుంది:

try:
'code to be executed'
except:
'error message'

ముందు చెప్పినట్లుగా, మీరు కూడా ఉపయోగించవచ్చు చివరకు మినహాయింపు బ్లాక్‌లో. కానీ మీరు లోపల వ్రాసే కోడ్ a చివరకు నిబంధన స్వతంత్రమైనది మరియు మినహాయింపు ఉందో లేదో అమలు చేయబడుతుంది.

సారాంశంలో, లోపల ఏమి జరిగినా మీరు నిరంతరంగా అమలు చేయాలనుకుంటున్న కోడ్ యొక్క మరొక బ్లాక్ మీ వద్ద ఉంటే అది ఉపయోగపడుతుంది. ప్రయత్నించండి ... తప్ప బ్లాక్.

ఇక్కడ ఒక ఉదాహరణ:

try:
print(9+6)
except:
print('error message')
finally:
print('please restart')
Output:
15
please restart

పై కోడ్‌లో, దయచేసి పునartప్రారంభించండి మినహాయింపు ఉందా లేదా అనే దానితో సంబంధం లేకుండా నిరంతరం నడుస్తుంది.

ఒక లేకపోతే పరిస్థితి కూడా అనుసరించవచ్చు తప్ప ప్రకటన:

try:
C = 2 + B
except:
print('B needs to be defined')
else:
print(u'Added successfully! The result is %s'%(C))
Output: B needs to be defined

ఇప్పుడు నిర్వచించిన 'B' తో మళ్లీ ప్రయత్నించండి:

try:
B = 5
C = 2 + B
except:
print('B needs to be defined')
else:
print(u'Added successfully! The result is %s'%(C))
Output: Added successfully! The result is 7

పై ఉదాహరణలు ప్రామాణికం కాని మినహాయింపులు. కానీ మీరు అంతర్నిర్మిత (నిర్వచించిన) మినహాయింపులను ప్రామాణికం కాని వాటితో కలిపినప్పుడు మీరు మరింత స్పష్టమైన మినహాయింపు పొందవచ్చు:

try:
C = 2 + B
except NameError as err:
print(err, ':', 'B needs to be defined, please')
else:
print(u'Added successfully! The result is %s'%(C))
Output: name 'B' is not defined : B needs to be defined, please

పైన ఉన్న మినహాయింపు ముందుగా ఏమైనా ఉందో లేదో తనిఖీ చేస్తుంది పేరు లోపం లో ప్రయత్నించండి బ్లాక్. అప్పుడు అది ప్రమాణాన్ని ప్రింట్ చేస్తుంది పేరు లోపం మినహాయింపు మొదటిది ('పేరు' B 'నిర్వచించబడలేదు'). మరియు మీ వ్రాతపూర్వక మినహాయింపుతో మద్దతు ఇస్తుంది ('B ని నిర్వచించాల్సిన అవసరం ఉంది, దయచేసి').

సంబంధిత: ప్రాథమిక ప్రోగ్రామింగ్ సూత్రాలు ప్రతి ప్రోగ్రామర్ తప్పక తెలుసుకోవాలి

విండోస్ 10 పనితీరును ఎలా మెరుగుపరచాలి

మరియు మీరు మినహాయింపుల గొలుసును నిర్వహించాలనుకుంటే, మీరు కూడా ఒక వెంబడించవచ్చు ప్రయత్నించండి చాలా మందితో బ్లాక్ చేయండి తప్ప ప్రకటనలు. మీది అయితే ఇది చాలా సులభమైనది ప్రయత్నించండి బ్లాక్‌కు చాలా మినహాయింపులు ఉండే అవకాశం ఉంది:

try:
B = 5
C = 2 + B
D = float(6)
F = 7/0
except NameError as err:
print(err,':', 'B needs to be defined, please')
except ValueError as val:
print(val,':', 'You can't convert that data')
except ZeroDivisionError as zeroerr:
print(zeroerr,':', 'You can't divide a number by zero')
else:
print(u'Operation successfull! The results are: %s, %s, and %s'%(C, D, F))
Output: division by zero : You can't divide a number by zero

విభజన చెల్లుబాటు అయితే? ఉదాహరణకు, భర్తీ చేయడం F = 7/0 పై కోడ్‌లో F = 7/5 ఇస్తుంది:

Output: Operation successfull! The results are: 7, 6.0, and 1.4

పైథాన్‌లో వినియోగదారు నిర్వచించిన మినహాయింపులు

మీరు మీ మినహాయింపుతో కూడా రావచ్చు మరియు తర్వాత మీ ప్రోగ్రామ్‌లో వారికి కాల్ చేయవచ్చు. ఇది మీ మినహాయింపు యొక్క నిర్దిష్ట వివరణను ఇవ్వడానికి మరియు మీకు నచ్చిన విధంగా పేరు పెట్టడానికి మిమ్మల్ని అనుమతిస్తుంది.

ఏదేమైనా, ప్రతి వినియోగదారు నిర్వచించిన మినహాయింపు (ప్రత్యక్షంగా లేదా పరోక్షంగా) ఇప్పటికీ అంతర్నిర్మిత నుండి వస్తుంది మినహాయింపు పైథాన్ తరగతి.

దిగువ ఉదాహరణ కోడ్ బేస్‌ని సూచిస్తుంది మినహాయింపు నేరుగా కాల్ చేయడం ద్వారా రన్‌టైమ్ ఎర్రర్ దాని నుండి:

class connectionError(RuntimeError):
def __init__(self, value):
self.value = value
try:
raise connectionError('Bad hostname')
except connectionError as err:
print(err.value)
Output: Bad hostname

అది గమనించండి కనెక్షన్ లోపం , ఈ సందర్భంలో, ఒక యూజర్ నిర్వచించిన తరగతి, ఇది మీ ప్రోగ్రామ్‌లో మీకు అవసరమైనప్పుడు మీరు ఎప్పుడైనా పెంచవచ్చు.

సంబంధిత: పైథాన్‌తో రెగ్యులర్ వ్యక్తీకరణలకు బిగినర్స్ గైడ్

నుండి నేరుగా పొందడం ద్వారా మీరు వినియోగదారు నిర్వచించిన మినహాయింపుని చేయవచ్చు మినహాయింపు బేస్ క్లాస్. దిగువ మినహాయింపు, అయితే, 5 నుండి 6 నుండి తీసివేతను నిరోధిస్తుంది మరియు బేస్ క్లాస్ నుండి మినహాయింపును నేరుగా పిలుస్తుంది:

class errors(Exception):
pass
class sixFiveError(errors):
def __init__(self, value, message):
self.value = value
self.message = message
try:
raise sixFiveError(6-5,'This substraction is not allowed')
except sixFiveError as e:
print('There was an error:', e.message)
Output: There was an error: This substraction is not allowed

ఆచరణలో, మీరు ఇంతకు ముందు నిర్వచించిన మినహాయింపును మరొక ఫంక్షన్‌లో కాల్ చేయడం ద్వారా ఉపయోగించవచ్చు. ఉదాహరణకు, మీరు a ని సృష్టించవచ్చు ఫ్లోట్ ఎర్రర్ ఇది రెండు ఫ్లోట్‌లను జోడించడానికి మాత్రమే అనుమతిస్తుంది:

# First call the base exception classes:
class errors(Exception):
pass
# Next, derive your own exception from the base class:
class FloatError(errors):
def __init__(self, value, message):
self.value = value
self.message = message
# Create a function to add two floats:
def addTwoFloat(a, b):
if (type(a) and type(b)) != float:
raise FloatError(a+b,'Numbers must be float to add')
else:
print(a + b)
addTwoFloat(4, 7)
Output: __main__.FloatError: (11, 'Numbers must be float to add')

ఎందుకంటే మీరు ఇప్పుడు a ని నిర్వచించారు ఫ్లోట్ ఎరర్ తరగతి, పైథాన్ దీనిని ఉపయోగించి రెండు ఫ్లోట్ కాని అక్షరాలను జోడించడానికి ప్రయత్నిస్తే దాన్ని పెంచుతుంది రెండు ఫ్లోట్ ఫంక్షన్

మీరు ముద్రించవచ్చు ఫ్లోట్ ఎరర్ ఏమి జరిగిందో చూడటానికి మీరు సృష్టించిన అదే పైథాన్ ఫైల్‌లోని క్లాస్:

print(FloatError)
Output:

ఫ్లోట్ ఎరర్ అయితే, అంతర్నిర్మిత పైథాన్ మినహాయింపు కాదు. మీరు కాల్ చేయడం ద్వారా దీనిని ధృవీకరించవచ్చు ఫ్లోట్ ఎరర్ మీరు ఈ తరగతిని సృష్టించని మరొక తాజా పైథాన్ ఫైల్‌లో:

print(FloatError)
Output: NameError: name 'FloatError' is not defined

మీరు ఒక పొందండి పేరు లోపం ఎందుకంటే పైథాన్ దీనిని ప్రామాణిక మినహాయింపుగా గుర్తించలేదు.

ఇతర లోపం తరగతులు ఎలా ఆడుతున్నాయో చూడటానికి మీరు స్వీయ-నిర్వచనాన్ని ప్రయత్నించవచ్చు.

మినహాయింపులతో మీ పైథాన్ ప్రోగ్రామ్‌లను మరింత యూజర్ ఫ్రెండ్లీగా చేయండి

పైథాన్‌లో అనేక ప్రామాణిక మినహాయింపులు ఉన్నాయి. కానీ మీరు మీది కూడా నిర్వచించవచ్చు. ఏదేమైనా, మీ ప్రోగ్రామ్‌ను ఉపయోగించే సౌలభ్యం కొంతవరకు వివిధ మినహాయింపులను ఎలా నిర్వహిస్తుందనే దానిపై ఆధారపడి ఉంటుంది (వినియోగదారు నిర్వచించినది, నిర్దిష్టమైనది కానిది లేదా ప్రామాణికం అయినా).

అయితే మినహాయింపులు, వినియోగదారులు వారితో ఇంటరాక్ట్ అయినప్పుడు మీ ప్రోగ్రామ్ ఎలా పని చేయాలో నిర్దేశించడానికి మిమ్మల్ని అనుమతిస్తుంది. ఒక దోషానికి కారణాన్ని స్పష్టంగా మరియు సంక్షిప్తంగా పేర్కొనడం వలన వినియోగదారులు తాము ఏమి తప్పు చేస్తున్నామో తెలుసుకుంటారు మరియు కొన్నిసార్లు, అది వారిని సరైన దిశలో చూపుతుంది.

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ మీ పైథాన్ కోడ్‌ను ఎలా డీబగ్ చేయాలి

మీ మార్గంలో ఉన్న ప్రతి పైథాన్ బగ్‌ను ఎలా స్క్వాష్ చేయాలో మీకు తెలుసుకోండి.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • ప్రోగ్రామింగ్
  • పైథాన్
  • కోడింగ్ ట్యుటోరియల్స్
రచయిత గురుంచి ఇదిసౌ ఒమిసోలా(94 కథనాలు ప్రచురించబడ్డాయి)

ఇడోవు ఏదైనా స్మార్ట్ టెక్ మరియు ఉత్పాదకతపై మక్కువ చూపుతుంది. తన ఖాళీ సమయంలో, అతను కోడింగ్‌తో ఆడుతాడు మరియు అతను విసుగు చెందినప్పుడు చెస్‌బోర్డ్‌కి మారుతాడు, కానీ అతను ఒక్కోసారి రొటీన్ నుండి దూరంగా ఉండడాన్ని కూడా ఇష్టపడతాడు. ఆధునిక సాంకేతిక పరిజ్ఞానాన్ని ప్రజలకు చూపించాలనే అతని అభిరుచి అతన్ని మరింత రాయడానికి ప్రేరేపిస్తుంది.

ఇడోవు ఒమిసోలా నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి