Nas linguagens de programação, encontrar erros nos permite executar várias funcionalidades de forma adequada, solicitando ao desenvolvedor. Nesse caso, pode haver instâncias em que o desenvolvedor pode enfrentar o “ java.lang.NullPointerException ” sobre um determinado “ nulo ” ao lidar com dados em massa. Essa exceção precisa ser tratada para simplificar as funcionalidades do código.
Este blog irá elaborar sobre as abordagens para lidar com o “ java.lang.NullPointerException ”.
Como resolver o “java.lang.NullPointerException”?
O ' java.lang.NullPointerException ” é retornado quando uma variável de referência é invocada (ou desreferenciada) e não está se referindo a nenhum objeto.
Demonstração de “java.lang.NullPointerException”
Na ilustração abaixo, veremos como ocorre a exceção discutida:
String s = nulo;
customFunc ( s ) ;
static void customFunc ( Cadeia de caracteres ) {
System.out.println ( str.comprimento ( ) ) ;
}
No trecho de código acima:
-
- Em primeiro lugar, inicialize uma string com um “ nulo ' valor.
- Na próxima etapa, invoque a função customFunc() passando a string declarada como seu argumento.
- Depois disso, defina uma função chamada “ customFunc() ” especificando uma string que precisa ser passada como seu parâmetro.
- Na definição da função, retorne o comprimento da string passada por meio do parâmetro “ comprimento ' propriedade.
- Este código funcionará de forma que passando um “ nulo ” para a função, a exceção discutida será lançada:
Na saída acima, pode-se observar que o “ Null Pointer Exception ” é lançado ao invocar “ nulo ” como um argumento de função.
Abordagem 1: Resolva o “java.lang.NullPointerException” usando declarações “try…catch”
O ' tentar ” auxilia na definição de um bloco de código que precisa ser testado quanto a erros durante a execução e o “ pegar ” entra em vigor no caso de uma limitação encontrada no bloco try. Mais especificamente, o “ java.lang.NullPointerException ” pode ser atendido aplicando a operação desejada no bloco “try” e colocando a exceção provável no bloco “catch”.
Sintaxe
tentar {O bloco de código para tentar
}
pegar ( Exceção e ) {
O bloco de código para lidar com a exceção enfrentada em o bloco de tentativas
}
Exemplo
Vamos ver o exemplo abaixo indicado:
String s = nulo;customFunc ( s ) ;
static void customFunc ( Cadeia de caracteres ) {
tentar {
System.out.println ( 'Primeiro caractere: ' + str.indexOf ( 0 ) ) ;
}
pegar ( NullPointerException e ) {
System.out.println ( 'NullPointerException lançado!' ) ;
} }
Nas linhas de código acima:
-
- Lembre-se das abordagens discutidas para inicializar um “ nulo ” e chame a função declarada passando o valor nulo como seu argumento.
- Agora, da mesma forma, defina uma função chamada “ customFunc() ” tendo como parâmetro a string a ser passada.
- Depois disso, aplique o “ tentar ” para buscar o índice do caractere especificado em uma string por meio do método “ índice de() ” método.
- Observe que o “ tentar ” pode ser executada se a string não for nula. Como o valor é “ nulo ”, portanto, será encontrada uma exceção que será tratada pelo método “ pegar ' declaração.
Saída
Na saída acima, pode-se ver que a exceção especificada é atendida pelo “ pegar ” e, portanto, é lançada, resolvendo-a.
Abordagem 2: resolver o “java.lang.NullPointerException” usando a instrução “if/else”
A exceção discutida também pode ser resolvida através do “ se/senão ' declaração. Isso pode ser feito simplesmente executando a operação desejada no “ se ” e na condição insatisfeita, uma exceção é retornada por meio do “ outro ' declaração.
Sintaxe
se ( condição ) {A instrução a ser executada mediante a condição satisfeita, ou seja, 'cond'
}
outro {
A declaração a ser executada após o insatisfeito 'se' doença.
}
Exemplo
Veja o exemplo a seguir para entender como lidar com a exceção:
String s = nulo;customFunc ( s ) ;
static void customFunc ( Cadeia de caracteres ) {
se ( str ! = nulo ) {
System.out.println ( 'Primeiro caractere: ' + str.indexOf ( 0 ) ) ;
}
outro {
System.out.println ( 'NullPointerException lançado!' ) ;
}
}
Aplique as etapas discutidas abaixo, conforme fornecido no código acima:
-
- Repita as etapas discutidas para inicializar um valor nulo e invocar a função passando o parâmetro “ nulo ” valor como seu argumento.
- Em seguida, declare de forma semelhante a função “ customFunc() ” tendo o parâmetro especificado.
- Agora, aplique o “ se/senão ” declaração de tal forma que mediante a condição satisfeita no “ se ”, o bloco correspondente é executado.
- No outro caso, o “ outro ” entrará em vigor e lançará a exceção discutida.
- Observe que a condição no “ se ” declaração é idêntica à abordagem anterior, falsificando-a.
Saída
É assim que você pode lidar com o “ java.lang.NullPointerException ”.
Conclusão
O ' java.lang.NullPointerException ” é retornado quando uma variável de referência é invocada ou desreferenciada e não está se referindo a nenhum objeto. Esta exceção pode ser tratada colocando-a no “ tente...pegue ” de modo que, ao executar o “ tentar ” bloco, a exceção enfrentada pode ser atendida pelo último bloco. Também o ' se/senão ” pode ser utilizada para resolver esta exceção, colocando-a no “ outro ” declaração se o “ se ” falha ao executar. Este blog discutiu as abordagens para lidar com o “ java.lang.NullPointerException ”.