பைதான் வலியுறுத்தல் பிழை

Paitan Valiyuruttal Pilai



பைதான் புரோகிராம் இயங்கும் போது எதிர்பாராத நிலையை எதிர்கொண்டால், நிரல் இயக்கத்தை நிறுத்திவிட்டு விதிவிலக்கை வழங்குகிறது. Python இல், விதிவிலக்குகள் மற்றும் தொடரியல் பிழைகள் இரண்டு முக்கிய வகை பிழைகள் ஆகும். தொடரியல் ரீதியாக செல்லுபடியாகும் பைதான் குறியீட்டின் ஒரு பகுதி ஒரு பிழையை உருவாக்கும் போது, ​​அது ஒரு விதிவிலக்கு/பிழையை உயர்த்துவதாக அறியப்படுகிறது. கடைசி வரியில் உள்ள பிழைச் செய்தி துல்லியமான விதிவிலக்கின் வகையை வரையறுக்கிறது மற்றும் பிழைத்திருத்தத்திற்கு உதவுவதற்கான விளக்கத்தை வழங்குகிறது, மேலும் விதிவிலக்கு ஏற்பட்ட வரி அல்லது இருப்பிடத்தை அம்புக்குறி சுட்டிக்காட்டுகிறது. திடீர் நிரல் செயலிழப்பைத் தவிர்க்க, விதிவிலக்குகளைப் பிடிப்பதும் நிர்வகிப்பதும் மிக முக்கியமானது. குறியீட்டைச் செயல்படுத்த வேறு வழியைப் பயன்படுத்தவும். உதாரணமாக, குறிப்பிட்ட விதிவிலக்கு ஏற்படும் போது. இந்த டுடோரியல் AssertionError மற்றும் அதை பைத்தானில் எவ்வாறு தீர்க்கலாம் என்பதைப் பற்றி விவாதிக்கும்.

பைத்தானில் ஒரு வலியுறுத்தல் பிழை என்றால் என்ன?

கூற்றுப் பிழைகள் என்பது ஒரு நிரலாக்கக் கருத்தாக்கம் ஆகும், இது ஒரு புரோகிராமர் ஒரு தொகுதியை எழுதும் போது அல்லது ஒரு தொகுதியை உருவாக்கும்போது ஏற்படும். எந்தவொரு பைதான் பிழையையும் போலவே, உறுதிமொழி உண்மையாக அறிவிக்கப்பட்டபோது நிபந்தனை குறிப்பிடப்பட்டால், கட்டுப்பாடு அடுத்தடுத்த குறியீட்டின் வரிக்கு மாற்றப்படும். அது தவறு எனில், மறுபுறம், பிழை அல்லது விதிவிலக்கு  எழுப்பப்பட்டு, நிரல் நிறுத்தப்படும். உறுதியான அறிக்கையானது பல்வேறு நிரலாக்க மொழிகளில் அவற்றின் குறிப்பிட்ட தொடரியல்களுடன் பயன்படுத்தப்படலாம், ஏனெனில் அது மொழியிலிருந்து சுயாதீனமாக உள்ளது. இது ஒரு துணைப்பிரிவு அல்லது விதிவிலக்கு வகுப்பின் உதாரணம். Python AssertionError பின்வரும் தொடரியல் உள்ளது:

தொடரியல்: நிபந்தனையை உறுதிப்படுத்தவும், பிழை_செய்தி (விரும்பினால்)







உதாரணமாக

ஒரு நபரின் வயதை உள்ளீடாக உள்ளிடுவோம், அது பூஜ்ஜியத்தை விடக் குறைவாக இருந்தால், கன்சோல் உறுதிப்படுத்தல் பிழையை எழுப்பும்.





இப்போது, ​​நாம் 0 க்கும் குறைவான வயதை உள்ளிட்டால் என்ன செய்வது?





இந்த முறையைப் பயன்படுத்தி உங்கள் குறியீட்டை பிழைத்திருத்தம் செய்வது எளிமையானது, இதனால் திட்டத்தில் பிழைகள் மற்றும் பிழைகளை சரிசெய்வது எளிதாகிறது.



பைத்தானில் AssertionError எப்படி வேலை செய்கிறது

பைதான் மொழியானது தர்க்கரீதியான வலியுறுத்தல்களுடன் எளிய பிழை செய்தி வெளியீடுகளை உருவாக்கப் பயன்படும் உறுதியான அறிக்கையை உள்ளடக்கியது. உறுதிப்படுத்தல் அறிக்கை தோல்வியுற்றால், “விதிவிலக்கு” AssertionError எழுப்பப்படும். பைத்தானில், விதிவிலக்கு வகுப்புகள் BaseException வகுப்பிலிருந்து பெறப்படுகின்றன. AssertionError வகுப்பின் அடிப்படை வகுப்பான BaseException வகுப்பு, விதிவிலக்கு வகுப்பிலிருந்து பெறப்பட்டது. ஒரு உறுதியான அறிக்கையைப் பயன்படுத்தும் போதெல்லாம் தோல்வியைச் சமாளிக்க பொருத்தமான விதிவிலக்கு கையாளுதல் குறியீடு எப்போதும் இருக்க வேண்டும். Python இல் உள்ள இயல்புநிலை விதிவிலக்கு ஹேண்ட்லர் புரோகிராமர் எழுதிய பிழைச் செய்தியை அச்சிடும், ஆனால் பிழை செய்தி இல்லாமல் கையாளலாம் அல்லது தீர்க்கலாம்.

பைத்தானில் வலியுறுத்தல் பிழையை செயல்படுத்துதல்

பைத்தானில் AssertionError இன் பல எடுத்துக்காட்டுகள் பின்வருமாறு:

உதாரணமாக

இந்த எடுத்துக்காட்டில், ஒரு வட்டத்தின் பகுதியைக் கண்டறியும் ஒரு நிரலில் AssertionError ஐக் காட்ட பைதான் நிரலை எழுதுவோம்.

வட்டத்தின் பரப்பளவைக் கண்டறிய உருவாக்கப்பட்ட முந்தைய நிரலில் உள்ள செயல்பாட்டிற்கு 'r' ஆரம் மதிப்பு அனுப்பப்படுகிறது. வழங்கப்பட்ட மதிப்பு அல்லது 'r' ஆரம் பூஜ்ஜியத்திற்குக் கீழே உள்ளதா என்பதைத் தீர்மானிக்க உறுதி அறிக்கை பயன்படுத்தப்படுகிறது, மேலும் அதற்கு எதிர்மறை மதிப்பு வழங்கப்பட்டால், விதிவிலக்கு உயர்த்தப்படும். செயல்பாட்டிற்கு வழங்கப்பட்ட ஆரம் “r” மதிப்பின் அடிப்படையில் வட்டத்தின் பரப்பளவு வழங்கப்படும். முதலில், செயல்பாடு r இன் மதிப்பில் 3 ஆக செயல்படுத்தப்படுகிறது. பின்னர் செயல்பாடு 2.5 மதிப்புடன் செயல்படுத்தப்படுகிறது. “r”, அதாவது “-1” இன் எதிர்மறை மதிப்பைப் பயன்படுத்தும் போது, ​​வலியுறுத்தல் பிழை எழுப்பப்படுகிறது.

கூற்றுப் பிழையின் நிகழ்வைக் காட்ட மற்றொரு உதாரணத்தை முயற்சிப்போம்.

உதாரணமாக

இந்த எடுத்துக்காட்டில், வகுப்பின் மதிப்பு பூஜ்ஜியமல்லவா என்பதை நிரல் தீர்மானிக்கும்.

உறுதிப்படுத்தல் பிழையின் பிழைச் செய்தி முந்தைய திட்டத்தில் காட்டப்படும். நாம் இரண்டு மாறிகளை (a மற்றும் b) உருவாக்கியுள்ளோம், மேலும் முழு எண் மதிப்புகள் மாறிகளைக் குறிப்பிடுகின்றன. இரண்டாவது மாறி, அதாவது, b அது உறுதி அறிக்கையைப் பயன்படுத்தி 0க்கு சமமாக இல்லையா என்பதைப் பார்க்க சோதிக்கப்பட்டது. இல்லையெனில், பிழை செய்தி அச்சிடப்பட்டது. இல்லையெனில், முதல் எண்ணை இரண்டாவது மதிப்பால் வகுத்ததன் முடிவு காட்டப்படும். முந்தைய படத்தில், நிரலின் வெளியீடு காட்டப்படும்.

வலியுறுத்தல் பிழையின் பயன்பாடுகள்

வலியுறுத்தல் பிழையின் பிற நன்மை பயக்கும் பயன்கள்:

  • அளவுரு மதிப்புகளை மதிப்பிடுவதில் வலியுறுத்தல் உதவுகிறது
  • உள்ளீடு வகை மற்றும் அந்த மதிப்பு செல்லுபடியாகுமா என்பதைக் கண்காணிப்பதில் வலியுறுத்தல்கள் உதவுகின்றன
  • கூடுதலாக, மற்றொரு குறியீடு டெவலப்பர் இடைமுகத்தை தவறாகப் பயன்படுத்துகிறாரா என்பதைக் கண்டறிய வலியுறுத்தல்கள் உதவுகின்றன
  • கூற்றுகள் நிரலின் வெளியீட்டைத் தொடர்ந்து கண்காணிக்க உதவுகின்றன

பைத்தானில் உள்ள உறுதிப் பிழைகளை நாம் எவ்வாறு தவிர்க்கலாம்

  1. பைதான் நிரலில் உள்ள -O கொடியானது ஒவ்வொரு உறுதிமொழி அறிக்கையையும் முடக்கப் பயன்படும். வலியுறுத்தல் அறிக்கையை நாங்கள் முடக்கினால், உறுதிமொழி அறிக்கைக்குப் பிறகு வரும் அறிக்கைகள் செயல்படுத்தப்படாது என்பதை நினைவில் கொள்ள வேண்டியது அவசியம்.
  2. வலியுறுத்தல் அறிக்கைகளை முடக்க சூழல் மாறி ஒரு கொடியையும் அமைக்கலாம். சுற்றுச்சூழலைப் பயன்படுத்தும் அல்லது மரபுரிமையாக்கும் அனைத்து செயல்முறைகளும் பயன்பாடுகளும் இந்த சூழ்நிலையில் பாதிக்கப்படுகின்றன.
  3. Python இல், வலியுறுத்தல் பிழைகளைத் தடுப்பதற்கான எளிய அணுகுமுறை அவற்றைக் கைமுறையாகக் கையாள்வதாகும். நிரலின் கட்டுப்பாட்டு ஓட்டம் திசைதிருப்பப்படுவதை நாங்கள் உறுதிசெய்தால், அது உறுதியான அறிக்கைகளை அணுகாது, பின்னர் வலியுறுத்தல் பிழைகள் ஏற்பட வாய்ப்பில்லை.

வலியுறுத்தல் பிழையைக் கையாளுதல்

வலியுறுத்தல் அறிக்கையைத் தவிர, பின்வரும் முறைகளைப் பயன்படுத்தி வலியுறுத்தல் பிழையையும் நாம் கையாளலாம்:

முயற்சி-தவிர தொகுதிகளைப் பயன்படுத்தி வலியுறுத்தல் பிழையைக் கையாளுதல்

உறுதி அறிக்கை மதிப்புகள் சமமாக உள்ளதா என்பதை தீர்மானிக்கிறது. இந்த முழு எண்கள் சமமாக இல்லாததால் முயற்சி பிளாக் AssertionError பிழையை எழுப்புகிறது. தவிர பிளாக் விதிவிலக்கைப் பிடித்த பிறகு அச்சு கட்டளை செயல்படுத்தப்படுகிறது. இங்கே, விதிவிலக்கு தொகுதியிலிருந்து அச்சு அறிக்கையின் வெளியீடு காட்டப்படும். விதிவிலக்கின் மூலத்தை நாம் கண்டறியும் வகையில், எக்சேக்ட் பிளாக்கில் உள்ள பிழையை மீண்டும் எழுப்புவதற்கு உயர்த்துதல் முக்கிய சொல்லைப் பயன்படுத்தலாம். விதிவிலக்கு ஏற்பட்டால், 'உயர்த்தல்' என்ற முக்கிய வார்த்தை பிழையை எழுப்பி நிரலை முடிக்கும். இது தற்போதுள்ள விதிவிலக்குகளின் பதிவை/தடத்தை பராமரிக்க அல்லது வைத்திருக்க உதவுகிறது.

ட்ரேஸ்பேக் தொகுதியைப் பயன்படுத்தி வலியுறுத்தல் பிழையைக் கையாளுதல்

குறியீட்டில் பல உறுதியான அறிக்கைகள் இருக்கும்போது, ​​ட்ரேஸ்பேக் தொகுதி சரியான பிழையின் மூலத்தைக் கண்டறிய உதவுகிறது.

ட்ரேஸ்பேக் தொகுதியைப் பயன்படுத்தி, எங்கள் அச்சு அறிக்கையை ஒதுக்கிடங்களுடன் எழுதலாம் {}.

கூடுதலாக, வரியின் நிலை, கோப்பின் பெயர், முறையின் பெயர் மற்றும் விதிவிலக்கு ஏற்பட்ட உரை/செய்தி ஆகியவற்றைச் சேமிக்க மற்ற மாறிகளை நாம் வரையறுக்கலாம்.

ட்ரேஸ்பேக் பொருள் 'tb' எனக் குறிப்பிடப்படுகிறது. நாங்கள் இரண்டு ப்ளேஸ்ஹோல்டர்களைப் பயன்படுத்துகிறோம்: ஒன்று உரைக்கு மற்றும் ஒன்று அச்சு அறிக்கையில் உள்ள வரியின் நிலைக்கு.

'உயர்த்தல்' என்ற அறிக்கையின் மூன்று கூறுகள்— exc_type, exc_traceback மற்றும் exc_value — sys.exc_info() செயல்பாட்டின் மூலம் வழங்கப்படும்.

அச்சு அறிக்கையைப் பயன்படுத்தி வலியுறுத்தல் பிழையைக் கையாளுதல்

விதிவிலக்கைக் கைமுறையாகக் கையாள, எக்சேக்ட் பிளாக்கிற்குள் இருக்கும் “அச்சிடு” அறிக்கையைப் பயன்படுத்தலாம்.

பயனர் உள்ளிடும் எந்தப் பிழைச் செய்தியையும் அச்சு அறிக்கை அச்சிடுகிறது. இந்த முறையால், ஒரு தொழில்நுட்ப பிழை பயனருக்கு கவலையாக இருக்காது.

பிழைக்கு பதிலாக, ஒரு சுருக்கமான செய்தி காட்டப்படும்.

முடிவுரை

இந்த இடுகையில், பைத்தானில் விதிவிலக்குகளின் அறிமுகத்தை முதலில் பார்த்தோம். AssertionError பற்றி விவாதித்தோம், அது எப்படி வேலை செய்கிறது மற்றும் பைத்தானில் AssertionError ஐ எவ்வாறு செயல்படுத்தலாம். AssertionError இன் பல நன்மைகள் மற்றும் அவற்றை எவ்வாறு தவிர்க்கலாம் என்பதை நாங்கள் விளக்கினோம். இந்த இடுகையின் கடைசிப் பகுதியில், ட்ரை-எக்செப்ட் பிளாக்ஸ், ட்ரேஸ்பேக் மட்யூல் மற்றும் அச்சு ஸ்டேட்மெண்ட் ஆகியவற்றைப் பயன்படுத்தி பைத்தானில் உள்ள அசெர்ஷன்பிழையை எவ்வாறு கையாளலாம் என்பதைப் பார்த்தோம்.