ஜாவாவில் பிழை மற்றும் விதிவிலக்கு இடையே உள்ள வேறுபாடு
உள்ளடக்கம்
ஜாவாவின் பிழை மற்றும் விதிவிலக்கு வரிசைக்கு "தூக்கி எறியக்கூடியது" மூலமாக செயல்படுகிறது. “பிழை” என்பது நிரலின் குறியீட்டால் கையாள முடியாத ஒரு முக்கியமான நிலை. “விதிவிலக்கு” என்பது நிரல் குறியீட்டால் கையாளக்கூடிய விதிவிலக்கான சூழ்நிலை. பிழை மற்றும் விதிவிலக்கு இடையே குறிப்பிடத்தக்க வேறுபாடு ஒரு பிழை கணினி வளங்கள் இல்லாததால் ஏற்படுகிறது, மற்றும் ஒரு விதிவிலக்கு உங்கள் குறியீடு காரணமாக ஏற்படுகிறது. ஒப்பீட்டு விளக்கப்படத்துடன் பிழை மற்றும் விதிவிலக்கு இடையிலான பிற வேறுபாடுகளைப் படிப்போம்.
- ஒப்பீட்டு விளக்கப்படம்
- வரையறை
- முக்கிய வேறுபாடுகள்
- தீர்மானம்
ஒப்பீட்டு விளக்கப்படம்
ஒப்பீட்டுக்கான அடிப்படை | பிழை | விதிவிலக்கு |
---|---|---|
அடிப்படை | கணினி வளங்கள் இல்லாததால் பிழை ஏற்படுகிறது. | குறியீடு காரணமாக விதிவிலக்கு ஏற்படுகிறது. |
மீட்பு | ஒரு பிழை சரிசெய்ய முடியாதது. | விதிவிலக்கு மீட்டெடுக்கத்தக்கது. |
முக்கிய வார்த்தைகள் | நிரல் குறியீட்டால் பிழையைக் கையாள வழி இல்லை. | விதிவிலக்குகள் "முயற்சி", "பிடி" மற்றும் "வீசுதல்" ஆகிய மூன்று முக்கிய வார்த்தைகளைப் பயன்படுத்தி கையாளப்படுகின்றன. |
விளைவுகளும் | பிழை கண்டறியப்பட்டால், நிரல் அசாதாரணமாக நிறுத்தப்படும். | விதிவிலக்கு கண்டறியப்பட்டால், அது "வீசுதல்" மற்றும் "பிடி" முக்கிய வார்த்தைகளால் தூக்கி எறியப்படுகிறது. |
வகைகள் | பிழைகள் தேர்வு செய்யப்படாத வகையாக வகைப்படுத்தப்படுகின்றன. | விதிவிலக்குகள் சரிபார்க்கப்பட்ட அல்லது தேர்வு செய்யப்படாத வகையாக வகைப்படுத்தப்படுகின்றன. |
தொகுப்பு | ஜாவாவில், பிழைகள் "java.lang.Error" தொகுப்பு என வரையறுக்கப்படுகின்றன. | ஜாவாவில், விதிவிலக்குகள் "java.lang.Exception" இல் வரையறுக்கப்பட்டுள்ளன. |
உதாரணமாக | OutOfMemory, StackOverFlow. | சரிபார்க்கப்பட்ட விதிவிலக்குகள்: NoSuchMethod, ClassNotFound. தேர்வு செய்யப்படாத விதிவிலக்குகள்: NullPointer, IndexOutOfBounds. |
பிழையின் வரையறை
“பிழை”என்பது“ எறியக்கூடிய ”உள்ளமைக்கப்பட்ட வகுப்பின் துணைப்பிரிவாகும். கணினி வளங்களின் பற்றாக்குறை காரணமாக ஏற்படும் முக்கியமான நிபந்தனைகள் பிழைகள், மேலும் அதை நிரலின் குறியீட்டால் கையாள முடியாது. பிழைகளை எந்த வகையிலும் மீட்டெடுக்க முடியாது, ஏனெனில் அவற்றை உருவாக்கவோ, வீசவோ, பிடிக்கவோ அல்லது பதிலளிக்கவோ முடியாது. பொதுவாக உங்கள் நிரலால் கையாள முடியாத பேரழிவு தோல்வி காரணமாக பிழைகள் ஏற்படுகின்றன.
பிழைகள் எப்போதும் சரிபார்க்கப்படாத வகையாகும், ஏனெனில் தொகுப்பாளருக்கு அதன் நிகழ்வு குறித்து எந்த அறிவும் இல்லை. ரன்-டைம் சூழலில் பிழைகள் எப்போதும் நிகழ்கின்றன. பிழையை ஒரு எடுத்துக்காட்டின் உதவியுடன் விளக்கலாம், நிரலில் ஸ்டாக் வழிதல், நினைவக பிழை அல்லது கணினி செயலிழப்பு பிழை உள்ளது, இந்த வகையான பிழை கணினி காரணமாக உள்ளது. அத்தகைய பிழைகளுக்கு குறியீடு பொறுப்பல்ல. பிழை ஏற்பட்டதன் விளைவு என்னவென்றால், நிரல் அசாதாரணமாக நிறுத்தப்படும்.
விதிவிலக்கு வரையறை
“விதிவிலக்கு” என்பது “எறியக்கூடிய” உள்ளமைக்கப்பட்ட வகுப்பின் துணைப்பிரிவாகும். விதிவிலக்குகள் ஒரு இயக்க நேர சூழலில் ஏற்படும் விதிவிலக்கான நிலைமைகள். எங்கள் நிரலின் குறியீடு காரணமாக பெரும்பாலான நேரங்களில் விதிவிலக்குகள் ஏற்படுகின்றன.ஆனால், விதிவிலக்குகள் மீட்டெடுக்கப்படுவதால், விதிவிலக்குகள் நிரலால் கையாளப்படலாம். “முயற்சி”, “பிடி”, “வீசுதல்” ஆகிய மூன்று முக்கிய வார்த்தைகளைப் பயன்படுத்துவதன் மூலம் விதிவிலக்குகள் கையாளப்படுகின்றன. விதிவிலக்கு எழுதுவதற்கான தொடரியல்:
{// உங்கள் குறியீட்டை இங்கே எழுத முயற்சிக்கவும்} ப (விதிவிலக்கு வகை) {// உங்கள் குறியீட்டை இங்கே எழுதவும்}
மேலே உள்ள குறியீட்டில், முயற்சி தொகுப்பில் எழுதப்பட்ட குறியீடு விதிவிலக்காக நீங்கள் கண்காணிக்க விரும்பும் குறியீடாகும். முயற்சித்த தொகுதியில் விதிவிலக்கு ஏற்பட்டால், அது “வீசுதல்” திறவுச்சொல்லைப் பயன்படுத்தி வீசப்படுகிறது. தூக்கி எறியப்பட்ட விதிவிலக்கு மேலே உள்ள குறியீட்டின் “பிடி” தொகுதியால் பிடிக்கப்படலாம். “விதிவிலக்கு வகை” என்பது நிகழ்ந்த விதிவிலக்கு வகை.
முறையற்ற குறியீட்டின் காரணமாக தவறுகள் நிகழ்ந்தன என்று எளிமையான வார்த்தைகளில் நாம் கூறலாம். எடுத்துக்காட்டாக, கோரப்பட்ட வகுப்பு கிடைக்கவில்லை என்றால், அல்லது கோரப்பட்ட முறை காணப்படவில்லை. இந்த வகையான விதிவிலக்குகள் நிரலில் உள்ள குறியீடு காரணமாகும்; இந்த வகையான விதிவிலக்குகளுக்கு கணினி பொறுப்பல்ல. விதிவிலக்குகள் "சரிபார்க்கப்பட்டவை" மற்றும் "தேர்வு செய்யப்படாதவை" என வகைப்படுத்தப்பட்டுள்ளன. தேர்வு செய்யப்படாத விதிவிலக்குகள் இயக்க நேரத்தில் நிகழும்போது அவை கம்பைலரின் அறிவில் இல்லை, அதேசமயம், கம்பைலர் தொகுக்கப்பட்ட நேரத்தில் கம்பைலருக்குத் தெரிந்திருப்பதால் சரிபார்க்கப்பட்ட விதிவிலக்குகள் பற்றிய அறிவைக் கொண்டுள்ளது.
- கணினி வளங்கள் குறைவாக இருக்கும்போது மட்டுமே பிழை ஏற்படுகிறது, ஒரு குறியீட்டில் ஏதேனும் சிக்கல் இருந்தால் விதிவிலக்கு ஏற்படுகிறது.
- ஒரு பிழையை ஒருபோதும் மீட்டெடுக்க முடியாது, விதிவிலக்கைக் கையாள குறியீட்டைத் தயாரிப்பதன் மூலம் விதிவிலக்கை மீட்டெடுக்க முடியும்.
- ஒரு பிழையை ஒருபோதும் கையாள முடியாது, ஆனால், விதிவிலக்கை எறியும் குறியீடு முயற்சி மற்றும் பிடிக்கக்கூடிய தொகுதிக்குள் எழுதப்பட்டால், விதிவிலக்கை குறியீட்டால் கையாள முடியும்.
- பிழை ஏற்பட்டால், நிரல் அசாதாரணமாக நிறுத்தப்படும். மறுபுறம், விதிவிலக்கு ஏற்பட்டால் நிரல் ஒரு விதிவிலக்கை எறிந்துவிடும், மேலும் இது முயற்சி மற்றும் பிடிக்கக்கூடிய தொகுதியைப் பயன்படுத்தி கையாளப்படுகிறது.
- பிழைகள் சரிபார்க்கப்படாத வகையாகும், அதாவது பிழை தொகுப்பாளர்களின் அறிவில் இல்லை, ஒரு விதிவிலக்கு சரிபார்க்கப்பட்ட மற்றும் தேர்வு செய்யப்படாதது என வகைப்படுத்தப்படுகிறது.
- பிழைகள் java.lang.Error தொகுப்பில் வரையறுக்கப்பட்டுள்ளன, ஒரு விதிவிலக்கு java.lang.Exception என வரையறுக்கப்படுகிறது.
தீர்மானம்:
விதிவிலக்குகள் நிரலின் குறியீட்டில் செய்யப்பட்ட தவறுகளின் முடிவுகள், மற்றும் பிழைகள் அமைப்பின் முறையற்ற செயல்பாட்டின் விளைவாகும்