| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Java programmering >> Content
    Hvad er en Null Pointer Exception
    ? Hver Java programmør til sidst skriver et program, der producerer " NullPointerExceptions " fejlmeddelelse. Det er især kryptisk for dem, der er begyndt deres programmering karriere ved at lære Java, som ikke udsætter programmører til begrebet pointer. Pointers

    En pointer er en computer science betegnelse for en variabel, der i stedet for at holde en smule information , har en adresse , hvor disse oplysninger kan findes i en computers hukommelse . Du kan forestille dig variablen som et vejskilt , som "punkter " til , hvor oplysningerne kan findes. I sprog som C + +, programmøren har til at foretage en eksplicit valg om , hvorvidt en given variabel vil holde oplysningerne direkte , eller vil i stedet holde en pointer til de oplysninger og dette valg kan have en dybtgående effekt på effektiviteten af programmet. For eksempel, hvis en given klasse holder et par megabyte værd af oplysninger, der skal videregives til en funktion, er det langt mere effektivt at give funktionen en pointer end at kopiere alle oplysningerne direkte .

    Java skåner programmører dette dilemma , og de ​​fejl det kan producere ved at skjule pointere fra programmøren .
    Null

    Null er en anden særlig udtryk i datalogi. Det refererer til en variabel, der bogstaveligt talt ikke indeholder information. Indtil nogle oplysninger er tildelt det , er det siges at være lig med nul . For eksempel i den følgende kode:

    String s; s = new String ();

    Efter den første linje er færdig, "s" er lig med null . Efter den anden linje er færdig, "s" er lig med en tom streng .

    Null Pointers

    Selvom Java forsøger at skjule pejlemærker fra programmør, der er én instans , når det ikke kan gøre det. Alle klasser er faktisk henvisninger til lagerpladser , hvor data for den gruppe kan findes. Dette gør det hurtigere, når undervisningen skal bestås i og ud af funktioner. Men i ovenstående eksempel efter den første linje er kørt, er en pointer blevet afsat til " s ", men ingen data er blevet oprettet. "s" har ingen hukommelse afsat til det, så det er en " null-pointer . "
    nulhenvisning Undtagelser

    Nu hvor du ved, hvad en null-pointer er Overvej følgende to linjer kode :

    String s; s.charAt (0 ) //Få det første tegn af strengen

    koden beder for det første tegn på . en streng objekt, der simpelthen ikke eksisterer . Med andre ord er det beder om det umulige . Så snart dette sker , Java indser problemet og kaster en " NullPointerException " for at lade brugeren eller programmør ved, at noget er gået galt .
    Eksempel

    Most Java-programmører ville aldrig gøre ovenstående fejl : de kender objekter som strenge skal initialiseres med den "nye" kommando. Dog overveje følgende funktion : Hej

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

    første omgang denne kode ser fint : funktionen modtager en String fra andetsteds i programmet, og udskriver det til skærmen . Men hvad nu hvis den person, der kører sendt funktion er en streng, der ikke var ordentligt initialiseret ? En NullPointerException ville blive kastet .
    Debugging og Forebyggelse

    Det første skridt til at forhindre NullPointerExceptions er at sikre, at nye klasse objekter er altid korrekt initialiseret. Men ingen er perfekt , så det andet skridt er at komme ind i vanen med at udføre data politiindsats for funktioner . Indkommende data bør altid behandles som utroværdig , så følgende ændring kunne gøres : Hej

    offentlig boolean print ( String s ) { try { System.out.println ( s); returnere sandt //Lad resten af programmet kender operationen var vellykket } catch ( NullPointerException e ) {return false; . . //Lad resten af ​​programmet kender operationen mislykkedes }}

    Fordelen ved denne proaktive tilgang er , at resten af programmet kan skrives til at bedømme , hvor alvorligt problemet er , snarere end umiddelbart fejle og give brugeren en grim og kryptiske fejlmeddelelse .

    Forrige :

    næste :
      Relaterede artikler
    ·Rekursion Problemer i Java 
    ·Sådan Tilføj billeder til JPanels 
    ·Typer af Undtagelser i Java 
    ·Java Coding for summen af to tal 
    ·Sådan oprettes en Implementering Class i Java 
    ·Sådan Split en Java String Into Characters 
    ·Best Practices på Sådan Embed Java i JSP 
    ·Sådan bruges Java til at skabe Web Service Apps 
    ·Hvordan man laver en knap ved hjælp Java 
    ·Sådan optage et screenshot fra et eksternt system vha.…
      Anbefalede Artikler
    ·Java UDP : Sådan Send en fil 
    ·Java Activation Framework Tutorial 
    ·Sådan Flyt tekst på tværs af siden i HTML 
    ·Forskelle mellem marker og poster i en database 
    ·Sådan Opadtællende på en enkelt linje i Python 
    ·MySQL Syntaks Issues 
    ·Sådan udskriver kaldstakkens i Python 
    ·Sådan Put en Java Application i en webside 
    ·Java Sun SQL Tutorial 
    ·Sådan Find Indeks nummer et element i PHP 
    Copyright © Computer Viden http://www.computerdk.com