Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Java Programming >> Content
    Hva er en Null Pointer Exception
    ? Hver Java -programmerer til slutt skriver et program som produserer " NullPointerExceptions " feilmelding. Det er spesielt kryptisk for de som begynner sine programmering karrierer ved å lære Java , som ikke medfører programmerere til konseptet med en peker . Pekere

    En pekeren er en datavitenskap begrep for en variabel som , i stedet for å holde en bit av informasjon, har en adresse til hvor denne informasjonen kan bli funnet i datamaskinens minne . Du kan forestille deg variabelen som en veiviser som "poeng " til hvor informasjonen kan finnes . I språk som C + + , har programmereren å lage et eksplisitt valg om hvorvidt en gitt variabel vil holde informasjonen direkte eller vil i stedet holde en peker til informasjon og dette valget kan ha en dyp effekt på effektiviteten av programmet. For eksempel, hvis en gitt klasse har noen få megabyte verdt informasjon som må sendes inn i en funksjon , er det langt mer effektivt å gi funksjonen en peker enn å kopiere all informasjon direkte .

    Java sparer programmerere dette dilemmaet og feilene det kan produsere ved å skjule pekere fra programmereren.
    Null

    Null er en annen spesiell term i informatikk. Det refererer til en variabel som praktisk talt ikke inneholder noen informasjon. Inntil noen opplysninger er tildelt det , sies det å være lik null . For eksempel i følgende kode :

    String s , s = new String ();

    Etter den første linjen er ferdig , "s" er lik null . Etter den andre linjen er ferdig , "s" er lik en tom streng .

    NULL-pekere

    Selv om Java forsøker å skjule pekere fra programmerer, en forekomst når den ikke kan gjøre det. Alle klasser er faktisk pekere til minneplasser hvor dataene for klassen kan bli funnet. Dette gjør det raskere når klassene må være bestått inn og ut av funksjoner. Men i eksempelet ovenfor , etter den første linjen er kjørt, har en peker blitt satt til side for " s ", men ingen data har blitt opprettet . "s" har ikke noe minne satt av til det, så det er en " null -pekeren. "
    Null Pointer Unntak

    Nå som du vet hva en null pekeren er , bør du vurdere følgende to linjer med kode :

    String s; s.charAt ( 0 ), //Få det første tegnet i strengen

    koden ber om det første tegnet av . en streng objekt som rett og slett ikke eksisterer . Med andre ord, det er å be om det umulige. Så snart dette skjer , innser Java problemet og kaster en " NullPointerException " for å la brukeren eller programmerer vet at noe har gått galt .
    Eksempel

    fleste Java-programmerere ville aldri gjøre det over feil : de vet objekter som strenger må startes opp med den "nye " kommandoen . Imidlertid vurdere følgende funksjon : en

    public void print ( String s ) { System.out.println ( s ) ;}

    utgangspunktet ser denne koden fine: funksjonen mottar en String fra andre steder i programmet og skriver den til skjermen. Men hva om den personen som kjører funksjon som sendes er en streng som ikke var riktig initialisert ? En NullPointerException ville bli kastet .
    Feilsøking og hindre

    første skritt for å hindre NullPointerExceptions er å sikre at nye klasse objekter er alltid riktig initialisert. Men , ingen er perfekt, så det andre trinnet er å komme inn i vanen med å utføre data politiarbeid for funksjoner. Innkommende data skal alltid behandles som upålitelige , så følgende endringer kan gjøres : en

    public boolean print (String s ) { try { System.out.println ( s ); return true; //La resten av programmet vet operasjonen var vellykket } catch ( NullPointerException e ) {return false; . . //La resten av programmet vet operasjonen mislyktes } }

    fordelen med denne proaktive tilnærmingen er at resten av programmet kan skrives å bedømme hvor alvorlig problemet er , snarere enn umiddelbart mislykkes og gi brukeren en stygg og kryptisk feilmelding.

    früher :

     Weiter:
      Relatert Artike
    ·Har Tillat NetBeans Enkelt Steps 
    ·Hvordan legge til JAR til en Android -prosjektet 
    ·Hvordan involvere API Med Android 
    ·Hvordan bruke Java til å lage Web Service Apps 
    ·Hvordan sjekke om ResultSet er null 
    ·Slik bruker du en Java Canvas 
    ·Hvordan Rediger Enkelt variabler i en matrise i Java 
    ·Fordelene ved JDK 1.6 
    ·Hva er det statiske initializer i Java 
    ·Hvordan legge til nuller foran et nummer i Java 
      Anbefalte artikler
    ·Hvordan å konsolidere Pivot tabeller ved hjelp av VBA 
    ·Hvordan utvikle Tetris spill i Java 
    ·NetBeans PHP Setup 
    ·Hva er IndexError i Python 
    ·Hvordan finne den filstørrelse i Perl 
    ·Hvordan @ Echo Command i Notepad 
    ·Hvordan erstatte verdien Waveform data i LabVIEW 
    ·Hvordan bygge et nettsted med Python 
    ·Slik kopierer til utklippstavlen i Microsoft Visual Bas…
    ·Fordelene av pekere 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/