Avatar billede eikhorsholm Nybegynder
20. december 2006 - 09:15 Der er 5 kommentarer

getValueAt returnerer en java.lang.NullPointerException.

Jeg har en getValueAt som returnerer en java.lang.NullPointerException.
Er det ikke muligt, at skrive noget ala:

if (jTable.getValueAt(X, Y) != java.lang.NullPointerException) {
  Gør det her!
} else {
  Ellers det her!
}

Det er fordi jeg hiver noget data ud fra en tabel som skal bruges i en anden tabel, men det er ikke sikkert at der hhv. er skrevet noget i den celle jeg hiver fra eller at der overhovedt findes en celle.
Jeg har prøvet, at bruge getRowCount for at se om der findes en celle, men der er stadig meget bøvl med det. Så hvis man nemt kunne tjekke om man får en gyldig værdi ville det være så meget bedre.
Avatar billede mikkel_sommer Nybegynder
20. december 2006 - 10:13 #1
Du kan bruge en try/catch struktur a la:

try
{
  jTable.getValueAt(X,Y);
}
catch(java.lang.NullPointerException)
{
  gør noget andet.
}
Avatar billede cayman Nybegynder
20. december 2006 - 14:14 #2
Hej eikhorsholm   

Nej , sådan kan du ikke skrive.
Hvis jTable.getValueAt(X, Y) kaster en NullPointer, så er det formentligt fordi jTable er null.
Skriv istedet:

if (jTable!=null){
// Gør det her
}
else{
// ellers her
}

Ellers er det fordi din nullpointer bliver kastet nede fra getValueAt-metoden. Hvis du kan rette i den bør du finde ud af hvor i metoden der er en nullpointer, og så gøre som ovenfor vist.

Sidste løsning er at gøre som Mikkel skriver. Selvom det virker fint mener jeg der er noget principielt forkert i at catche runtimeexceptions. Men hvis man ikke kan ændre der hvor fejlen kastes, så må man jo bare catche den.

/Held og lykke
Avatar billede eikhorsholm Nybegynder
07. januar 2007 - 16:41 #3
Laver I begge et svar, så bliver pointene fordelt!
Avatar billede cayman Nybegynder
08. januar 2007 - 07:24 #4
OK - hermed gjort :)
Du fik det altså til at virke?
Avatar billede mikkel_sommer Nybegynder
08. januar 2007 - 09:54 #5
Svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester