/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Hvorfor nullpointer exception?
Fra : Preben Holm


Dato : 19-08-04 15:09

Hej alle,

ved kørsel af denne funktion får jeg en nullpointer exception - hvorfor?


public void setBilag(String bilag) {
int temp = Integer.getInteger(bilag).intValue();
this.bilag = temp;
}

f.eks. kaldes den med

setBilag("100")

hvorfor får jeg så en nullpointer exception?


Mvh / Preben Holm

 
 
Henrik Davidsen (19-08-2004)
Kommentar
Fra : Henrik Davidsen


Dato : 19-08-04 15:36


> ved kørsel af denne funktion får jeg en nullpointer exception - hvorfor?
>
>
> public void setBilag(String bilag) {
> int temp = Integer.getInteger(bilag).intValue();
> this.bilag = temp;
> }
>
> f.eks. kaldes den med
>
> setBilag("100")
>
> hvorfor får jeg så en nullpointer exception?

getInteger har følgende opgave:
"determines the Integer value of the system property with the specified
name" - så det er den forkerte metode du bruger i din setBilag-metoder.

Prøv dette i stedet:
Integer.parseInt(bilag);

Mvh. Sjang



Preben Holm (19-08-2004)
Kommentar
Fra : Preben Holm


Dato : 19-08-04 18:05

>>ved kørsel af denne funktion får jeg en nullpointer exception - hvorfor?
>>
>>
>> public void setBilag(String bilag) {
>> int temp = Integer.getInteger(bilag).intValue();
>> this.bilag = temp;
>> }
>>
>>f.eks. kaldes den med
>>
>>setBilag("100")
>>
>>hvorfor får jeg så en nullpointer exception?
>
>
> getInteger har følgende opgave:
> "determines the Integer value of the system property with the specified
> name" - så det er den forkerte metode du bruger i din setBilag-metoder.
>
> Prøv dette i stedet:
> Integer.parseInt(bilag);

Det vil jeg gøre.
Mange tak for svaret

Bart Simpson (12-09-2004)
Kommentar
Fra : Bart Simpson


Dato : 12-09-04 11:16

Hej,

Du bør lave din Integer.parseInt(bilag) i en try/catch blok:

try{
lav din parsning herinde...
}
catch(){
tag stilling til hvad du vil gøre hvis du ikke kan parse 'bilag'... evt
sætte det til 0
}

fx:

try{
this.bilag = Integer.parseInt(bilag);
}
catch(NullPointerException){
//evt sætte bilag til 0
this.bilag = 0;
//eller gøre noget andet...
}

/Bart


"Preben Holm" <64bitNonoSPAMno@mailme.dk> wrote in message
news:4124dcfc$0$258$edfadb0f@dread12.news.tele.dk...
> >>ved kørsel af denne funktion får jeg en nullpointer exception - hvorfor?
> >>
> >>
> >> public void setBilag(String bilag) {
> >> int temp = Integer.getInteger(bilag).intValue();
> >> this.bilag = temp;
> >> }
> >>
> >>f.eks. kaldes den med
> >>
> >>setBilag("100")
> >>
> >>hvorfor får jeg så en nullpointer exception?
> >
> >
> > getInteger har følgende opgave:
> > "determines the Integer value of the system property with the specified
> > name" - så det er den forkerte metode du bruger i din setBilag-metoder.
> >
> > Prøv dette i stedet:
> > Integer.parseInt(bilag);
>
> Det vil jeg gøre.
> Mange tak for svaret



Ole Ildsgaard Hougaa~ (12-09-2004)
Kommentar
Fra : Ole Ildsgaard Hougaa~


Dato : 12-09-04 14:07

On Sun, 12 Sep 2004 12:15:46 +0200, "Bart Simpson" <bart@simpson.com>
wrote:

>Hej,
>
>Du bør lave din Integer.parseInt(bilag) i en try/catch blok:

.... med mindre du vil lade det være den kaldende metodes ansvar. Det
kan være en udmærket strategi.

>fx:
>
>try{
> this.bilag = Integer.parseInt(bilag);
>}
>catch(NullPointerException){
> //evt sætte bilag til 0
> this.bilag = 0;
> //eller gøre noget andet...
>}
>
>/Bart

Integer.parseInt() smider ikke en NullPointerException, men en
NumberFormatException. Husk i øvrigt at angive en variabel der kan
holde referencen til den fangne exception:
try {
this.bilag = Integer.parseInt(bilag);
} catch (NumberFormatException nfe) {
//Gør det rigtige her.
}

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408177
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste