Cómo resolver el Java.lang.Excepción de puntero nulo

Cómo resolver el Java.lang.Excepción de puntero nulo

En los lenguajes de programación, los errores de encuentro nos permiten ejecutar diversas funcionalidades adecuadamente al solicitar al desarrollador. En tal caso, puede haber casos en los que el desarrollador pueda enfrentar el "Java.lang.Excepción de puntero nulo"Sobre un particular"nulo"Valor mientras se trata de datos a granel. Esta excepción debe manejarse para optimizar las funcionalidades del código.

Este blog explicará los enfoques para hacer frente al "Java.lang.Excepción de puntero nulo".

Cómo resolver el "Java.lang.Excepción de puntero nulo"?

El "Java.lang.Excepción de puntero nulo"Se devuelve cuando se invoca una variable de referencia (o se reference) y no se refiere a ningún objeto.

Demostración de "Java.lang.Excepción de puntero nulo"

En la ilustración a continuación, veremos cómo ocurre la excepción discutida:

Cadena s = nulo;
CustomFunc (s);
static void customFunc (string str)
Sistema.afuera.println (str.longitud());


En el fragmento de código anterior:

    • En primer lugar, inicialice una cadena con un "nulo" valor.
    • En el siguiente paso, invoca la función CustomFunc () pasando la cadena declarada como argumento.
    • Después de eso, defina una función llamada "CustomFunc ()"Al especificar una cadena que debe aprobarse como su parámetro.
    • En la definición de función, devuelva la longitud de la cadena pasada a través de la "longitud" propiedad.
    • Este código funcionará de tal manera que al pasar un "nuloValor para la función, se lanzará la excepción discutida:


En la salida anterior, se puede observar que el "Excepción de puntero nulo"Se arroja al invocar"nulo"Como argumento de función.

Enfoque 1: Resuelve el "Java.lang.NullPointerException "usando declaraciones" Prueba ... atrapar "

El "intentar"La declaración ayuda a definir un bloque de código que debe probarse para obtener errores mientras se ejecuta y el"atrapar"La declaración entra en vigencia en caso de una limitación encontrada en el bloque de try. Más específicamente, el "Java.lang.Excepción de puntero nulo"Se puede atender aplicando la operación deseada en el bloque" Prueba "y colocando la probable excepción en el bloque" Catch ".

Sintaxis

intentar
El bloque de código para probar

Catch (excepción e)
El bloque de código para manejar la excepción a la cara en el bloque de prueba


Ejemplo

Vamos a ver el ejemplo declarado a continuación:

Cadena s = nulo;
CustomFunc (s);
static void customFunc (string str)
intentar
Sistema.afuera.println ("primer personaje:" + str.indexOf (0));

Catch (NullPointerException e)
Sistema.afuera.println ("NullPointerException lanzado!");


En las líneas de código anteriores:

    • Recuerde los enfoques discutidos para inicializar un "nulo"Value e invoque la función establecida pasando el valor nulo como argumento.
    • Ahora, del mismo modo, defina una función llamada "CustomFunc ()"Tener la cadena para pasar como su parámetro.
    • Después de eso, aplique el "intentar"Declaración para obtener el índice del carácter especificado en una cadena a través del"índice de()" método.
    • Tenga en cuenta que el "intentar"La declaración se puede ejecutar si la cadena no es nula. Dado que el valor es "nulo", Por lo tanto, se encontrará una excepción que será manejada por el"atrapar" declaración.

Producción


En la salida anterior, se puede ver que la excepción especificada es atendida por el "atrapar"Declaración y por lo tanto se lanza, resolviéndola.

Enfoque 2: Resolver el "Java.lang.NullPointerException "utilizando la instrucción" if/else "

La excepción discutida también se puede resolver a través del "si/else" declaración. Esto se puede hacer simplemente realizando la operación deseada en el "si"Declaración y en la condición insatisfecha, se devuelve una excepción a través del"demás" declaración.

Sintaxis

if (cond)
La declaración que se ejecutará en la condición satisfecha i.E "cond"

demás
La declaración que se ejecutará en la condición insatisfecha "si".


Ejemplo

Realice el siguiente ejemplo para comprender con la excepción:

Cadena s = nulo;
CustomFunc (s);
static void customFunc (string str)
if (str != nulo)
Sistema.afuera.println ("primer personaje:" + str.indexOf (0));

demás
Sistema.afuera.println ("NullPointerException lanzado!");


Aplique los pasos discutidos a continuación como se da en el código anterior:

    • Repita los pasos discutidos para inicializar un valor nulo e invocar la función pasando el "nulo"Valor como argumento.
    • A continuación, declare de manera similar la función "CustomFunc ()"Tener el parámetro especificado.
    • Ahora, aplique el "si/else"Declaración de tal manera que sobre la condición satisfecha en el"si"Declaración, el bloque correspondiente se ejecuta.
    • En el otro caso, el "demás"Bloque entrará en vigencia y lanzará la excepción discutida.
    • Tenga en cuenta que la condición en el "si"La declaración es idéntica al enfoque anterior, falsificándolo así.

Producción


Así es como puedes manejar el "Java.lang.Excepción de puntero nulo".

Conclusión

El "Java.lang.Excepción de puntero nulo"Se devuelve cuando se invoca o se referencia una variable de referencia y no se refiere a ningún objeto. Esta excepción se puede manejar colocándola en el "trata de atraparlo"Declaración de tal manera que al ejecutar el"intentarBloque, la excepción de cara puede ser atendida por el último bloque. También el "si/else"La declaración se puede utilizar para resolver esta excepción colocándola en el"demás"Declaración si el"si"La declaración no se ejecuta. Este blog discutió los enfoques para hacer frente al "Java.lang.Excepción de puntero nulo".