விதிவிலக்குகள் ரன் நேரம் அல்லது தொகுக்கும் நேரத்தில் அசாதாரண நிலைமைகள். c ++ இல் மிகவும் அவசியமான கருத்து. இந்த கட்டுரை அதன் வெவ்வேறு வகைகளுடன் சி ++ இல் விதிவிலக்கு கையாளுதலை உங்களுக்கு அறிமுகப்படுத்தும்.
இந்த கட்டுரையில் பின்வரும் சுட்டிகள் விவரிக்கப்படும்,
எனவே பின்னர் தொடங்குவோம்,
சி ++ இல் விதிவிலக்கு கையாளுதல்
விதிவிலக்குகள் வகைகள்
விதிவிலக்கு இரண்டு வகைகள் உள்ளன,
இயக்க நேரம் விதிவிலக்கு
இது ரன் நேரத்தில் பிடிபட்ட விதிவிலக்கு.
தொகுத்தல் நேர விதிவிலக்கு
இது தொகுக்கும் நேரத்தில் பிடிபட்ட விதிவிலக்கு.
சி ++ இல் இந்த விதிவிலக்கு கையாளுதல் கட்டுரையுடன் நகரும்,
விதிவிலக்கு கையாளுதல் என்றால் என்ன?
பிழைகள் ஒரு நிரலின் இயல்பான செயல்பாட்டை சீர்குலைக்கின்றன. விதிவிலக்கு கையாளுதல் மிகவும் அவசியம், மேலும் இது பிழைகள் அல்லது விதிவிலக்குகளை கையாளும் செயல்முறையாகும். நிரலின் செயல்பாடானது விதிவிலக்குகளால் பாதிக்கப்படாது என்பதை உறுதிசெய்கிறது மற்றும் நிரல் செயல்பாட்டில் எந்த சிக்கலும் ஏற்படாமல் மெதுவாக அவற்றைக் கையாளுகிறது.
விதிவிலக்கு கையாளுதலை நீங்கள் கருத்தில் கொள்ளும்போது, அதனுடன் மூன்று சொற்கள் தொடர்புடையவை,
முயற்சி
ஜாவாவில் முட்டுக்கட்டைகளைத் தவிர்ப்பது எப்படி
இந்த தொகுதிக்குள் உள்ள குறியீடு ஒரு சோதனைக் குறியீடு போன்றது, இது விதிவிலக்கைத் தூண்டும். இந்த விதிவிலக்கு கேட்ச் தொகுதிக்குள் சிக்கியுள்ளது.
பிடி
முயற்சி தொகுதிகளில் உள்ள குறியீடு விதிவிலக்கை எறியும்போது இந்த தொகுதியில் உள்ள குறியீடு செயல்படுத்தப்படுகிறது.
வீசு
இந்தச் சொல் விதிவிலக்கு ஏற்பட்டால் அதை வீச பயன்படுகிறது. விதிவிலக்கு விதிவிலக்கு கையாளுபவருக்கு அனுப்பப்படுகிறது.
தொடரியல்:
முயற்சி தொகுதிக்குள் உள்ள குறியீடு செயல்படுத்தப்படுகிறது. ஒரு பிழை உருவாக்கப்பட்டால், முக்கிய சொல் விதிவிலக்கு விதிவிலக்கைக் கையாளுபவருக்கு வீசுகிறது, அதாவது பிடிப்புத் தொகுதி. கேட்ச் பிளாக் அதன் தொகுதிக்குள் இருக்கும் குறியீட்டை செயல்படுத்தியது, இதனால் விதிவிலக்கைக் கையாளுகிறது.
சி ++ இல் விதிவிலக்கு கையாளுதலுக்கான மாதிரி குறியீட்டைப் பார்ப்போம்
மாதிரி குறியீடு
# பெயர்வெளியைப் பயன்படுத்தவும் std try {// குறியீட்டை முயற்சிக்கவும் & ldquoexception & rdquo} catch (விதிவிலக்கு) catch // பிடிப்பதற்கான குறியீடு} int main () {int x = 1 try {cout<< 'Try Block: '<வெளியீடு:
விளக்கம்
இந்த திட்டம் விதிவிலக்கு கையாளுதலை நிரூபிக்கிறது. எங்களிடம் ஒரு மாறி x உள்ளது, இது 1 இன் மதிப்பை ஒதுக்குகிறது. பின்னர் முயற்சி தொகுதியின் தொடக்கமும் உள்ளது. இந்த தொகுதியில், x என்ற நிபந்தனையுடன் if அறிக்கை உள்ளது<10.
எங்கள் விஷயத்தில், x ஒன்று என்பதால் நிலை உண்மை. நிரல் பின்னர் ஒரு விதிவிலக்கை வீசுகிறது மற்றும் கட்டுப்பாடு தடுப்புக்கு மாறுகிறது. நாங்கள் நிபந்தனையை ஒரு பகுதியாக இயக்குகிறோம் மற்றும் தொகுதியிலிருந்து வெளியேறுகிறோம்.
பிடிக்கவும் (...) {செலவு<< 'Default Exceptionn'<கடைசியாக, கேட்ச் பிளாக் மற்றும் வெளியேறும் நிரலுக்குப் பிறகு மீதமுள்ள அறிக்கைகளை இயக்குகிறோம்.
ஒரு உறவு உள்ளதுபல பிடிப்பு அறிக்கை இருக்கலாம், சாத்தியமான விதிவிலக்குகளின் எண்ணிக்கையைப் பொறுத்து.
சி ++ இல் இந்த விதிவிலக்கு கையாளுதல் கட்டுரையுடன் நகரும்,
கேட்ச் பிளாக் தோல்வி
முந்தைய நிரலைக் கவனியுங்கள், x க்கு பதிலாக வீசுதல் முக்கிய சொல் “ABC” ஐ எறிந்தால், பிடிப்பு செயல்பாடு அதை கையாள முடியாது. இது ஒரு பிழையைக் காண்பிக்கும்,
இதுபோன்ற விஷயத்தில் எங்கள் வென்ற பிழை செய்தி காண்பிக்கப்படலாம்.
இதைத் தீர்க்க, இதுபோன்ற சிக்கல்களைக் கையாள குறியீட்டில் இயல்புநிலை பிடிப்பு செயல்பாட்டைச் சேர்க்க வேண்டும்.
# பெயர்வெளியைப் பயன்படுத்துதல் std int main () {int x = 1 try {cout<< 'Try Block: '<வெளியீடு:
விளக்கம்:
இந்த குறியீடு முந்தையதைப் போன்றது. ஒரே மாற்றம் என்னவென்றால், எறியப்பட்ட விதிவிலக்கு வகை கரி. இது எங்கள் பிடிப்பு செயல்பாடு பயனற்றது. எனவே இயல்புநிலை பிடிப்பு செயல்பாட்டை சேர்த்துள்ளோம்.
பிடிப்பு அறிக்கைகள் எதுவும் பொருந்தவில்லை என்றால், இயல்புநிலை பிடிப்பு செயல்படுத்தப்படும்.
பல கேட்ச் பிளாக்ஸ்
ஒற்றை முயற்சி தொகுதியின் பல பிடிப்பு தொகுதிகள் இருக்கலாம்.
இங்கே ஒரு எடுத்துக்காட்டு,
ஒரு ஹாஷ்மாப்பை எவ்வாறு செயல்படுத்துவது# பெயர்வெளியைப் பயன்படுத்துதல் std int test (int a) {try {if (a<0) throw a else throw 'a' }catch(int a){ cout<<'Caught an integer: ' << a<வெளியீடு:
விளக்கம்:
மேலே உள்ள குறியீட்டில், நாங்கள் பல பிடிப்பு அறிக்கைகளைப் பயன்படுத்துகிறோம். விதிவிலக்கை உருவாக்கும் செயல்பாட்டு சோதனை எங்களிடம் உள்ளது. முதல் சோதனை வழக்கில், மதிப்பு 10 ஆகும். 10 பூஜ்ஜியத்தை விட அதிகமாக இருப்பதால், ‘அ’ எழுத்து எறியப்பட்டு, அது இரண்டாவது கேட்ச் செயல்பாட்டால் பிடிக்கப்படுகிறது.
இரண்டாவது வழக்கில், மதிப்பு 0 க்கும் குறைவாக உள்ளது, எனவே மதிப்பு -1 வீசப்படுகிறது மற்றும் அது முழு எண் விதிவிலக்கால் பிடிக்கப்படுகிறது
விதிவிலக்கு அடிப்படை மற்றும் பெறப்பட்ட வகுப்பில் கையாளுதல்:
அடிப்படை மற்றும் பெறப்பட்ட வர்க்க விதிவிலக்குகள் பிடிபட்டால், பெறப்பட்ட வகுப்பைப் பிடிப்பது அடிப்படை வகுப்பிற்கு முன் செயல்படுத்தப்பட வேண்டும்.
இங்கே சில விதிவிலக்குகள்:
std :: விதிவிலக்கு
log_error
இயக்க பிழை
bad_alloc
மோசமான_ ஒளிபரப்பு
bad_exception
இதன் மூலம் ‘சி ++ இல் விதிவிலக்கு கையாளுதல்’ என்ற வலைப்பதிவின் இறுதியில் வருகிறோம். இந்த தகவலறிந்த மற்றும் உங்களுக்கு பயனுள்ளதாக இருக்கும் என்று நம்புகிறேன், இதே போன்ற தலைப்புகளில் கூடுதல் பயிற்சிகளுக்காக காத்திருங்கள்.நீங்கள் எங்கள் பயிற்சி திட்டத்தையும் பார்க்கலாம்jQuery இல் அதன் பல்வேறு பயன்பாடுகளுடன் ஆழ்ந்த அறிவைப் பெறலாம் 24/7 ஆதரவு மற்றும் வாழ்நாள் அணுகலுடன் நேரடி ஆன்லைன் பயிற்சிக்கு.
எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? இந்த வலைப்பதிவின் கருத்துகள் பிரிவில் அவற்றைக் குறிப்பிடுங்கள், நாங்கள் உங்களைத் தொடர்புகொள்வோம்.