Come risolvere il Java.Lang.NullpointerException

Come risolvere il Java.Lang.NullpointerException

Nei linguaggi di programmazione, l'incontro di errori ci consente di eseguire varie funzionalità in modo appropriato spingendo lo sviluppatore. In tal caso, ci possono essere casi in cui lo sviluppatore può affrontare il "Giava.Lang.NullpointerException"Su un particolare"nullo"Valore mentre si tratta di dati sfusi. Questa eccezione deve essere gestita per semplificare le funzionalità del codice.

Questo blog approfondirà gli approcci per far fronte al "Giava.Lang.NullpointerException".

Come risolvere il "Java.Lang.NullpointerException "?

IL "Giava.Lang.NullpointerException"Viene restituito quando viene invocata una variabile di riferimento (o de-referenziata) e non si riferisce a nessun oggetto.

Dimostrazione di “Java.Lang.NullpointerException "

Nell'illustrazione di seguito, vedremo come si verifica l'eccezione discussa:

Stringa s = null;
Customfunc (s);
static void customfunc (string str)
Sistema.fuori.println (str.lunghezza());


Nel frammento di codice sopra:

    • In primo luogo, inizializza una stringa con "nullo" valore.
    • Nel passaggio successivo, invoca la funzione CustomFunc () passando la stringa dichiarata come argomento.
    • Successivamente, definisci una funzione chiamata "CustomFunc ()"Specificando una stringa che deve essere passata come parametro.
    • Nella definizione della funzione, restituire la lunghezza della stringa passata tramite "lunghezza" proprietà.
    • Questo codice funzionerà in modo tale che passando un "nullo"Valore alla funzione, l'eccezione discussa verrà lanciata:


Nell'output sopra, si può osservare che il "NullpointerException"Viene lanciato dopo aver invocato"nullo"Come argomento funzione.

Approccio 1: risolvere il "Java.Lang.NullpointerException "usando le dichiarazioni" Try ... Catch "

IL "Tentativo"L'istruzione aiuta a definire un blocco di codice che deve essere testato per errori durante l'esecuzione e il"presa"La dichiarazione entra in vigore in caso di limitazione incontrata nel blocco di prova. Più specificamente, il "Giava.Lang.NullpointerException"Può essere soddisfatto applicando l'operazione desiderata nel blocco" prova "e posizionando la probabile eccezione nel blocco" cattura ".

Sintassi

Tentativo
Il blocco di codice da provare

catch (eccezione e)
Il blocco di codice per gestire l'eccezione affrontata nel blocco Try


Esempio

Panoramiamo l'esempio di seguito:

Stringa s = null;
Customfunc (s);
static void customfunc (string str)
Tentativo
Sistema.fuori.println ("Primo carattere:" + STR.indicef (0));

catch (nullpointerException e)
Sistema.fuori.println ("NullpointerException lanciato!");


Nelle righe di codice sopra:

    • Ricorda gli approcci discussi per inizializzare un "nullo"Valutare e invocare la funzione dichiarata passando il valore nullo come argomento.
    • Ora, allo stesso modo, definisci una funzione chiamata "CustomFunc ()"Avere la stringa da passare come parametro.
    • Dopodiché, applica il "Tentativo"Dichiarazione per recuperare l'indice del carattere specificato in una stringa tramite"indice di()" metodo.
    • Nota che il "Tentativo"L'istruzione può essere eseguita se la stringa non è nulla. Poiché il valore è "nullo", Quindi verrà incontrata un'eccezione che sarà gestita dal"presa" dichiarazione.

Produzione


Nell'output sopra, si può vedere che l'eccezione specificata è soddisfatta dal "presa"Dichiarazione e così viene lanciata, risolvendolo così.

Approccio 2: risolvere il "Java.Lang.NullpointerException "usando l'istruzione" if/else "

L'eccezione discussa può anche essere risolta tramite "se altro" dichiarazione. Questo può essere fatto semplicemente eseguendo l'operazione desiderata nel "Se"Dichiarazione e in condizioni insoddisfatte, un'eccezione viene restituita tramite"altro" dichiarazione.

Sintassi

if (cond)
La dichiarazione da eseguire sulla condizione soddisfatta i.e "cond"

altro
La dichiarazione da eseguire sulla condizione insoddisfatta "se".


Esempio

Attraversare il seguente esempio per comprendere ad affrontare l'eccezione:

Stringa s = null;
Customfunc (s);
static void customfunc (string str)
Se (str != null)
Sistema.fuori.println ("Primo carattere:" + STR.indicef (0));

altro
Sistema.fuori.println ("NullpointerException lanciato!");


Applicare i passaggi di seguito distinti come indicato nel codice sopra:

    • Ripeti i passaggi discussi per l'inizializzazione di un valore nullo e invocando la funzione passando il "nullo"Valore come argomento.
    • Successivamente, dichiara allo stesso modo la funzione "CustomFunc ()"Avere il parametro specificato.
    • Ora, applica il "se altro"Dichiarazione tale che sulla condizione soddisfatta in"Se"Dichiarazione, il blocco corrispondente esegue.
    • Nell'altro caso, il "altro"Il blocco entrerà in vigore e lancerà l'eccezione discussa.
    • Si noti che la condizione in "Se"La dichiarazione è identica al primo approccio, così falsificandola.

Produzione


È così che puoi gestire il "Giava.Lang.NullpointerException".

Conclusione

IL "Giava.Lang.NullpointerException"Viene restituito quando una variabile di riferimento viene invocata o deferenziata e non si riferisce a nessun oggetto. Questa eccezione può essere gestita posizionandola nel "prova a prendere"Affermazione tale che all'esecuzione del"Tentativo"Blocco, l'eccezione affrontata può essere soddisfatta da quest'ultimo blocco. Anche il "se altro"L'istruzione può essere utilizzata per risolvere questa eccezione inserendola in"altro"Dichiarazione se la"Se"L'istruzione non riesce a eseguire. Questo blog ha discusso degli approcci per far fronte al "Giava.Lang.NullpointerException".