En Null Pointer Exception eller java.lang.NullPointerException , der opstår, når et program forsøger at få adgang til en reference type, der ikke er blevet initialiseret. I Java , hold nonprimitive typer såsom String eller Heltal en pegepind til en værdi , ikke selve værdien . Hvis du forsøger at henvise til en reference type, og det er ikke blevet initialiseret , er markøren ikke peger på noget, og derfor er ugyldig. Dette almindeligvis opstår , når en reference type væltes som et argument til en metode. Den nemmeste måde at håndtere undtagelsen er at fortælle den metode , hvad de skal gøre, hvis det modtager en null- pointer. Instruktioner
Oprettelse af en simpel klasse til at producere NullPointerException
1
Opret en ny klasse i din ansøgning som følger. Denne klasse er designet til at producere en null- pointer undtagelse
public class NullPointTest {
public static void vigtigste ( String [] args ) {
opgave ( null) ; . < br >
}
public static void opgave ( Integer x ) {
int y = 1 + x ;
}
} < br >
2
Kør klassen. Følgende vil udskrive til konsollen : Hej
Exception i tråd "main " java.lang.NullPointerException
på NullPoint.task ( NullPoint.java : 10)
på NullPoint . main ( NullPoint.java : 6)
3
Bemærk problem opstår, fordi du passerer null og din "task "-metoden forventer en pegepind til et heltal
< br . >
Udskrivning Fejl for Debugging
4
Føj følgende kode før begyndelsen af " opgaven "-metoden. Dette vil tillade dig at fejlsøge ved at vise dig, hvor værdien null bliver modtaget .
If ( x == null) {
System.out.println ( "task ( ) har modtaget en null værdi for x ");
}
5
Kontroller at se, at din kode ser ud som følgende : Hej
public class NullPointTest {
< p > public static void main ( String [] args ) {
opgave ( null) ;
}
public static void opgave ( Integer x ) {
< p > if ( x == null) {
System.out.println ( "task ( ) har modtaget en null-værdi for x ");
}
int y = 1 + x ;
}
}
6
Kør klassen. Følgende bør udskrive til skærmen i stedet for undtagelsen : "task ( ) har modtaget en null-værdi for x. "
Håndtering af Exception
7
Tildel et . default værdi , når en null-værdi passeres ved at tilføje følgende til begyndelsen af " opgaven "-metoden
if ( x == null) {
x = 1;
< p> }
8
Kontroller at se, at din kode ser ud som følgende : Hej
public class NullPointTest {
public static void main ( String [] args ) {
opgave ( null) ;
}
public static void opgave ( Integer x ) {
if ( x == null) { < br >
x = 1;
}
int y = 1 + x ;
}
}
9 < p> Kør klassen. Du bør ikke længere se NullPointerException da x peger nu til 1. .