java.lang.NullPointerException ஐ எவ்வாறு தீர்ப்பது

Java Lang Nullpointerexception Ai Evvaru Tirppatu



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

இந்த வலைப்பதிவு ' java.lang.NullPointerException ”.







'java.lang.NullPointerException' ஐ எவ்வாறு தீர்ப்பது?

' java.lang.NullPointerException 'ஒரு குறிப்பு மாறி செயல்படுத்தப்படும் போது (அல்லது குறிப்பு நீக்கப்பட்டது) மற்றும் எந்த பொருளையும் குறிப்பிடவில்லை.



'java.lang.NullPointerException' இன் ஆர்ப்பாட்டம்

கீழே கொடுக்கப்பட்டுள்ள விளக்கத்தில், விவாதிக்கப்பட்ட விதிவிலக்கு எவ்வாறு நிகழ்கிறது என்பதைப் பார்ப்போம்:



சரம் s = null;
customFunc ( கள் ) ;
நிலையான வெற்றிட customFunc ( சரம் str ) {
System.out.println ( நீளம் ( ) ) ;
}


மேலே உள்ள குறியீடு துணுக்கில்:





    • முதலில், ஒரு சரத்தை துவக்கவும் ' ஏதுமில்லை ' மதிப்பு.
    • அடுத்த கட்டத்தில், அறிவிக்கப்பட்ட சரத்தை அதன் வாதமாக அனுப்புவதன் மூலம் customFunc() செயல்பாட்டை செயல்படுத்தவும்.
    • அதன் பிறகு, '' என்ற செயல்பாட்டை வரையறுக்கவும் customFunc() ” என்ற சரத்தை அதன் அளவுருவாக அனுப்ப வேண்டும்.
    • செயல்பாட்டு வரையறையில், '' வழியாக அனுப்பப்பட்ட சரத்தின் நீளத்தை திரும்பவும் நீளம் ”சொத்து.
    • இந்த குறியீடு ஒரு 'ஐ அனுப்புவதன் மூலம் செயல்படும் ஏதுமில்லை செயல்பாட்டின் மதிப்பு, விவாதிக்கப்பட்ட விதிவிலக்கு எறியப்படும்:


மேலே உள்ள வெளியீட்டில், ' பூஜ்ய சுட்டிக்காட்டி விதிவிலக்கு 'அழைக்கும்போது தூக்கி எறியப்படுகிறது' ஏதுமில்லை ” ஒரு செயல்பாட்டு வாதமாக.

அணுகுமுறை 1: 'முயற்சி...பிடி' அறிக்கைகளைப் பயன்படுத்தி 'java.lang.NullPointerException' ஐத் தீர்க்கவும்

' முயற்சி 'செயல்படுத்தும் போது பிழைகள் இருந்தால் சோதிக்கப்பட வேண்டிய குறியீடு தொகுதியை வரையறுக்க அறிக்கை உதவுகிறது மற்றும் ' பிடி முயற்சித் தொகுதியில் வரம்பு ஏற்பட்டால் ” அறிக்கை நடைமுறைக்கு வரும். இன்னும் குறிப்பாக, ' java.lang.NullPointerException 'முயற்சி' தொகுதியில் விரும்பிய செயல்பாட்டைப் பயன்படுத்துவதன் மூலமும், 'கேட்ச்' தொகுதியில் சாத்தியமான விதிவிலக்கை வைப்பதன் மூலமும் 'ஐ பூர்த்தி செய்யலாம்.



தொடரியல்

முயற்சி {
முயற்சிக்க வேண்டிய குறியீடு தொகுதி
}
பிடி ( விதிவிலக்கு இ ) {
எதிர்கொள்ளும் விதிவிலக்கைக் கையாள குறியீடு தொகுதி உள்ளே முயற்சி தொகுதி
}


உதாரணமாக

கீழே உள்ள உதாரணத்தை மேலோட்டமாகப் பார்ப்போம்:

சரம் s = null;
customFunc ( கள் ) ;
நிலையான வெற்றிட customFunc ( சரம் str ) {
முயற்சி {
System.out.println ( 'முதல் பாத்திரம்:' + str.indexOf ( 0 ) ) ;
}
பிடி ( NullPointerException இ ) {
System.out.println ( 'NullPointerException தூக்கி எறியப்பட்டது!' ) ;
} }


மேலே உள்ள குறியீட்டு வரிகளில்:

    • தொடங்குவதற்கு விவாதிக்கப்பட்ட அணுகுமுறைகளை நினைவுகூருங்கள் ' ஏதுமில்லை ”மதிப்பு மற்றும் பூஜ்ய மதிப்பை அதன் வாதமாக அனுப்புவதன் மூலம் கூறப்பட்ட செயல்பாட்டை செயல்படுத்தவும்.
    • இப்போது, ​​அதே போல், ஒரு செயல்பாட்டை வரையறுக்கவும் ' customFunc() ” சரத்தை அதன் அளவுருவாக அனுப்ப வேண்டும்.
    • அதன் பிறகு, விண்ணப்பிக்கவும் ' முயற்சி 'குறிப்பிட்ட எழுத்தின் குறியீட்டை ஒரு சரத்தில் பெறுவதற்கான அறிக்கை' indexOf() ”முறை.
    • என்பதை கவனிக்கவும் ' முயற்சி சரம் பூஜ்யமாக இல்லாவிட்டால் ” அறிக்கையை செயல்படுத்தலாம். மதிப்பு என்பதால் ' ஏதுமில்லை ', எனவே ஒரு விதிவிலக்கு எதிர்கொள்ளப்படும், அதைக் கையாளும் ' பிடி ” அறிக்கை.

வெளியீடு


மேலே உள்ள வெளியீட்டில், குறிப்பிட்ட விதிவிலக்கு ' பிடி ” அறிக்கை மற்றும் அதனால் அது தூக்கி, அதன் மூலம் அதை தீர்க்கும்.

அணுகுமுறை 2: 'if/else' அறிக்கையைப் பயன்படுத்தி 'java.lang.NullPointerException' ஐத் தீர்க்கவும்

விவாதிக்கப்பட்ட விதிவிலக்கு '' மூலம் வரிசைப்படுத்தப்படலாம் என்றால்/வேறு ” அறிக்கை. '' இல் விரும்பிய செயல்பாட்டைச் செய்வதன் மூலம் இதைச் செய்யலாம். என்றால் ' அறிக்கை மற்றும் திருப்தியற்ற நிலையில், விதிவிலக்கு ' வேறு ” அறிக்கை.

தொடரியல்

என்றால் ( cond ) {
திருப்தியான நிலையில் செயல்படுத்தப்பட வேண்டிய அறிக்கை, அதாவது 'கான்ட்'
}
வேறு {
திருப்தி அடையாதவர்கள் மீது செயல்படுத்தப்படும் அறிக்கை 'என்றால்' நிலை.
}


உதாரணமாக

விதிவிலக்குகளை சமாளிப்பது பற்றிய புரிதலைப் பெற பின்வரும் உதாரணத்தைப் பார்க்கவும்:

சரம் s = null;
customFunc ( கள் ) ;
நிலையான வெற்றிட customFunc ( சரம் str ) {
என்றால் ( str ! = பூஜ்ய ) {
System.out.println ( 'முதல் பாத்திரம்:' + str.indexOf ( 0 ) ) ;
}
வேறு {
System.out.println ( 'NullPointerException தூக்கி எறியப்பட்டது!' ) ;
}
}


மேலே உள்ள குறியீட்டில் கொடுக்கப்பட்டுள்ளபடி கீழே விவாதிக்கப்பட்ட படிகளைப் பயன்படுத்தவும்:

    • ஒரு பூஜ்ய மதிப்பைத் தொடங்கவும், '' ஐக் கடந்து செயல்பாட்டைத் தொடங்கவும் விவாதிக்கப்பட்ட படிகளை மீண்டும் செய்யவும். ஏதுமில்லை ” மதிப்பு அதன் வாதமாக உள்ளது.
    • அடுத்து, இதேபோல் செயல்பாட்டை அறிவிக்கவும் ' customFunc() 'குறிப்பிட்ட அளவுருவைக் கொண்டுள்ளது.
    • இப்போது, ​​விண்ணப்பிக்கவும் ' என்றால்/வேறு 'அந்த அறிக்கை திருப்திகரமான நிலையில்' என்றால் ” அறிக்கை, தொடர்புடைய தொகுதி செயல்படுத்துகிறது.
    • மற்றொரு வழக்கில், ' வேறு ” தொகுதி நடைமுறைக்கு வந்து விவாதிக்கப்பட்ட விதிவிலக்கை தூக்கி எறியும்.
    • இதில் உள்ள நிபந்தனை ' என்றால் 'அறிக்கை முந்தைய அணுகுமுறைக்கு ஒத்ததாக உள்ளது, இதன் மூலம் அதை பொய்யாக்குகிறது.

வெளியீடு


இப்படித்தான் நீங்கள் கையாள முடியும்' java.lang.NullPointerException ”.

முடிவுரை

' java.lang.NullPointerException 'ஒரு குறிப்பு மாறி செயல்படுத்தப்படும்போது அல்லது குறிப்பு நீக்கப்பட்டால், அது எந்த பொருளையும் குறிப்பிடவில்லை. இந்த விதிவிலக்கை '' இல் வைப்பதன் மூலம் கையாளலாம் முயற்சி...பிடி 'அந்த அறிக்கையை செயல்படுத்தும்போது' முயற்சி ”தொகுதி, எதிர்ப்பட்ட விதிவிலக்கு பிந்தைய தொகுதியால் வழங்கப்படலாம். மேலும், ' என்றால்/இல்லை 'அறிக்கையை இந்த விதிவிலக்கைத் தீர்க்க, அதை ' இல் வைப்பதன் மூலம் பயன்படுத்தலாம் வேறு 'அறிக்கை என்றால்' என்றால் ” அறிக்கையை செயல்படுத்த முடியவில்லை. இந்த வலைப்பதிவு ' java.lang.NullPointerException ”.