A Null Pointer Exception , eller java.lang.NullPointerException , oppstår når et program prøver å få tilgang til en referanse type som ikke er initialisert . I Java , nonprimitive typer som streng eller heltall holde en peker til en verdi, ikke selve verdien . Hvis du prøver å referere til en referanse type og det har ikke blitt initialisert, er pekeren peker ikke til noe, og er derfor null . Dette skjer vanligvis når en referansetype blir vedtatt som et argument til en metode. Den enkleste måten å håndtere unntaket er å fortelle metoden hva du skal gjøre hvis den mottar en null-peker . Instruksjoner
Opprette en enkel klasse å produsere den NullPointerException
en
Opprett en ny klasse i programmet som følger. Denne klassen er laget for å produsere en nullpeker unntak
public class NullPointTest {
public static void main ( String [] args ) {
oppgave ( null ); .
}
public static void oppgave (heltall x ) {
int y = 1 + x ;
}
}
2
Kjør klassen . Følgende vil skrive ut til konsollen : en
Exception in thread "main" java.lang.NullPointerException
på NullPoint.task ( NullPoint.java : 10 )
på NullPoint . main ( NullPoint.java : 6 )
3
merke til problemet oppstår fordi du passerer null og din " oppgave "-metoden forventer en peker til et heltall
Skrive en feil for debugging
4
Legg til følgende kode før begynnelsen av " oppgave "-metoden . Dette vil tillate deg å feilsøke ved å vise deg hvor nullverdi blir mottatt.
If ( x == null ) {
System.out.println ( " oppgave ( ) har fått en null verdi for x ");
}
5
Kontroller at koden ser slik ut : en
public class NullPointTest {
< p > public static void main ( String [] args ) {
oppgave ( null ) ;
}
public static void oppgave (heltall x ) {
< p > if ( x == null ) {
System.out.println ( " oppgave ( ) har fått en nullverdi for x ");
}
int y = 1 + x ;
}
}
6
Kjør klassen . Følgende skal skrives ut til skjermen i stedet for unntaket: " oppgave ( ) har fått en null verdi for x . "
Håndtering av Exception
7
Angi en . standardverdien når en nullverdi er gått ved å legge til følgende i begynnelsen av " oppgave "-metoden
if ( x == null ) {
x = 1 ;
< p> }
8
Kontroller at koden ser slik ut : en
public class NullPointTest {
public static void main ( String [] args ) {
oppgave ( null ) ;
}
public static void oppgave (heltall x ) {
if ( x == null ) {
x = 1;
}
int y = 1 + x ;
}
}
9 < p> Kjør klassen . Du bør ikke lenger se NullPointerException fordi x nå peker til en .