Mostrando postagens com marcador exception. Mostrar todas as postagens
Mostrando postagens com marcador exception. Mostrar todas as postagens

segunda-feira, 21 de janeiro de 2019

O que é uma Exception em java ?

Uma Exception ou excessão é uma situação que acontece quando um programa foge em algum momento da maneira como ele deveria funcionar.

Por exemplo um NullPointerException acontece quando tentamos acessar alguma informação de dentro de um varável nula.

Exemplo:

....
public String getNome()
 {
   Usuario usuario;
   usuario.getNome();
}
....

No caso acima é lançado um NullPointerExecpton, pois estamos tentando acessar um atributo de uma variável não instanciada ou seja fugimos do fluxo correto do funcionamento do sistema.

Como evitar uma excessão ?

Uma maneira de tratar uma provável Exception em java é fazer utilização do try /cath ou enviar a mesma para  método que veio chamar o método que pode estorar a Exception atraves do throws.

Exemplo 1 - Fazendo o tratamento com try/catch:

//Tratando com try/cath
...
....
public String getNome()
 {
   Usuario usuario;
 try{
     usuario.getNome();
    }catch(Exception e){
      //  ...tratamento
     usuario= new Usuario();
     usuario.nome = "Sem nome";
     
  }
}
....

Exemplo 2 - lançando a Exception par ao método que fez a chamada ao método problemático:

....
public String getNome() throws Exception
 {
   Usuario usuario;
   usuario.getNome();
}
....

sexta-feira, 3 de fevereiro de 2012

O que é NullPointerException ?

 

"Quem nunca tomou um NullPointerException atire o primeiro mouse."

Quando uma pessoa começa a caminhar o longo caminho do mundo da programação um erro comum com qual se defronta é com o famoso e não querido NullPointerException, mas o que vem a ser esse obstaculo na vida de um programador e como resolvê-lo ? Para resolver tais estão publiquei essa essa dica que explica de forma bem simples o que é e como resolver um caso simples de NullPointerException.


Como ocorre ?

O NullPointerException ou NullPointer para os mais íntimos ocorre quando tenta-se utilizar um atributo ou método de um objeto que não fora inicializado. (Que esteja no estado null). Um exemplo pode ser visto no código abaixo:


package com.blogspot.maguscode;

public class TesteNullPointer {

   
    public static void main(String args[])
    {
        Carro carro = null;
        carro.setMarca("Gol");
        System.out.println("Marca do carro é:"+carro.getMarca());
    }
}


Quando esse código é executando o resultado é um NullPointerException como pode ser visto na figura abaixo:



 Neste caso o objeto Carro não foi instaciado e seu estado permaneceu nulo, quando foi tentado inserir um valor a seu atributo marca foi lançado um NullPointerException pois o objeto Carro em questão não existia em lugar algum. É como se tenta-se localizar uma casa com um determinado número em uma cidade que não existe.
De grosso modo o NullPointer acontece quando tentamos acessar um atributo em um objeto que não existe.


Como solucionar ?

Uma solução para matar o NullPointer seria verificar se o objeto está instancianciado caso não esteja instancia-lo ou simplismente instância-lo quando o mesmo for criado como no exemplo abaixo:



package com.blogspot.maguscode;

public class TesteNullPointer {

   
    public static void main(String args[])
    {
        Carro carro = new Carro();
        carro.setMarca("Gol");
        System.out.println("Marca do carro é:"+carro.getMarca());
    }


 




 
 

sexta-feira, 8 de julho de 2011

Criar exceções



Assim como qualquer objeto, em java também é possível criar suas próprias exceções. Imagine um cenário que nenhuma exceção existente faça sentido para ser lançada por você. Por exemplo imagine que por algum motivo você precisa que uma exceção seja lançada quando a letra “A” ou “a” não existe e determinada frase, como não existe nenhuma exceção específica para este caso será necessário criar uma exceção.


Criando uma exceção para ser lançada toda vez que uma letra “A” ou “a” não é encontrada em uma determinada frase.

public class SemLetraAException extends Exception {
@Override
public String getMessage() {
return "Não existe letra A em sua frase";
}

}
Toda exceção criada deve estender Exception, neste exemplo foi sobrescrito o método getMessage()
, que é exibida no prompt toda vez que a exceção é lançada.

Utilizando a exceção

Abaixo segue um exemplo que é utilizado a exceção criada acima.

public class TesteExcecao {

public static void main(String args[]) throws SemLetraAException {
String frase = "Sou um teste!";
if(!frase.contains("a") || !frase.contains("A"))
throw new SemLetraAException();
}
}

Quando o programa acima fosse executada uma exceção do tipo SemLetraAException() será lançada, abaixo é está a saida exibida no prompt:

Exception in thread "main" SemLetraAException: Não existe letra A em sua frase
at TesteExcecao.main(TesteExcecao.java:8)