Como fazer uma exeção - urgente

14 respostas
V

pessoal, estou tendo problemas com exeção, alguem poderia me explicar como faço?

14 Respostas

E

Bom dia.

Para você tratar a exceção eh assim:

try {
    ...
   } catch(Exception e) {
      // Aqui voce trata o erro
      System.out.println("Erro => "+e.getMessage());
   }

E para você disparar uma exceção eh assim:

if (..) { throw new Exception("Erro criado"); }

Espero ter ajudado.

T+

M
public class FooException extends Exception {

  // sobrecarrega oq quiser...

}
A

Como vc faz uma exeção???
Exeções são situações que podem levantar algum tipo de erro!
Ai vc trata ela com try{}catch(){}
Existem infinitas maneiras de gerar uma exeção
ou vc pode tb levantar uma usando throw new Eception quando seu metodo possui throws Exception na declaração!

J

qual é a sua dúvida exatamente? é de como criar uma classe que sirva de exceção? ou como lançar e tratar uma? ai vai um exemplo das duas perguntas:
como criar:

class SuaExcecaoException extends Exception {
   public SuaExcecaoException() {
     super("mensagem que voce quer dar para a excecao");
   }

}

para lancar e tratar:

//...
//...
public void seuMetodo(int numero) throws SuaExcecaoException {
  if(numero % 2 == 0) {
    throw new SuaExcecaoException();
  }
}

public void metodoTratadorDeExcecao {
  try {
    this.seuMetodo(4);
  } catch(SuaExcecaoException see) {
       //AQUI VOCE TRATA CASO A EXCECAO OCORRA
     }
}

deu pra entender? se seu metodo pode lancar a excecao voce usa a palavra reservada throws e o nome dela logo em seguida.

no trecho que voce quer tratar a excecao, voce usa o bloco try…catch, que funciona assim:
1- todo o codigo que esta dentro de try {…} será testado
2- as excecoes que puderem ser atingidas dentro daquele bloco serao tratadas em multiplos blocos catch(TIPODAEXCECAO nome){…}

ou seja, se voce tiver mais de um tipo de excecao que possa ser lancado num bloco try, voce pode fazer:

try{
//...
//...
}
catch(TipoExcecao1 e1) {...}
catch(TipoExcecao2 e2) {...}
catch(TipoExcecao3 e3) {...}
catch(TipoExcecao4 e4) {...}

deve ter algum tutorial no portal a respeito disso, é bom voce dar uma consultada

espero ter ajudado

V

vamo ver se eu entendi

eu faço uma classe pra exeçao q vai exibir a msg de erro.

Dai dentro do metodo da classe … tipo… banco.
eu faço o throw chamando a classe exception.

e o try catch eu chamo aonode?

e quer dizer que a classe exception só serve pra exibir a msg de erro??/

8O 8O 8O

D

não entendi direito, nem o método nem para que serve tudo isso!

:cry:

H

Se vc quer tratar uma exceção de algum objeto, conexão, etc…segue o código que o edgardksb mostrou, que é bem mais fácil de entender.

D

é… analisando e testantom aqui, até que deu pra dar uma entendida. To estudando, galera!!!

Vamos todos meter a cara!!!
Bons estudos

M

Pessoal,
alguém aí teria uma classe para tratamento de exceções de banco de dados. Ou será que já existe um framework pra isso??? :wink:
Como estou iniciando, ainda não tenho muitos conhecimentos das tecnologias existentes.
Valeu :slight_smile:

T

Ola amigo, tenho um tutorial muito legal sobre exceção inclusive como se cria uma, mas estou no trabalho agora me mande um e-mail e te passo o material OK…

Anote meu e-mail:
[email removido]

Ate mais…

M

“tonel”:
Ola amigo, tenho um tutorial muito legal sobre exceção inclusive como se cria uma, mas estou no trabalho agora me mande um e-mail e te passo o material OK…

Anote meu e-mail:
[email removido]

Ate mais…

Valeu amigo :joia: , já mandei um mail pra você.
Estou ancioso…

Abraços.

V

tenho algumas dúvidas ainda sobre exeção.

O try e catch têm que ser tratados no método main ou em qualquer método?
e ele tem que vir depois do throw obrigatoriamente???
:grin:

M

Pô amigo, tb tô cheio de dúvidas o “tonel” disse que ia me mandar um material sobre o assunto, mas acho que ele não recebeu meus mails.

Câmbio tonel… tá na escuta??? :slight_smile:

Posso mandar o mail de novo??

J

“virginiacruz”:
tenho algumas dúvidas ainda sobre exeção.

O try e catch têm que ser tratados no método main ou em qualquer método?
e ele tem que vir depois do throw obrigatoriamente???
:grin:

olha so, o try-catch nao é tratado, ele trata as excecoes…
tipo, se voce tem um metodo chamado metodoA() que alguma coisa dentro dele pode gerar um excecao, voce pode fazer 2 coisas quando chamar o metodoA de algum lugar:
1:

public void metodoB() throws Exception{
   classe.metodoA();
}
//lanca a excecao para ser tratada mais acima

2:

public void metodoB() {
   try {   
      classe.metodoA();
   } catcth(Exception e) {
      //faz a acao a ser feita se der algum "erro" no metodoA
   }
}
//aqui voce esta tratando a excecao, e nao lancando-a pra cima.
//se voce nao tratasse a excecao ela iria aparecer no console, o bloco
//try-catch é responsavel pelo tratamento

nao sei se deu pra voce entender bem, mas espero que tenha esclarecido um pouco

Criado 11 de maio de 2005
Ultima resposta 13 de jun. de 2005
Respostas 14
Participantes 9