Dúvida try/catch

5 respostas
Marques

Colegas,

No trecho de código abaixo, NoResultExeception devolve a mensagem ‘Transaction Failed’
Como faço para substituir essa menagem por ‘Minha mensagem customizada’ ?
Note que quando capturo a mensagem eu tenho um return.

Sds,

Marques

try {
     Fornecedor fornecedor = fornecedorService.findByCNPJ(selectedCpfCnpj);
     } catch (NoResultException e) {
	  //NoResultExeception devolve a mensagem 'Transaction Failed'
          // Como faço para substituir essa menagem por 'Minha mensagem customizada aqui' ?
	 return;
    }

5 Respostas

Hernaneprates

try { Fornecedor fornecedor = fornecedorService.findByCNPJ(selectedCpfCnpj); } catch (NoResultException e) { System.out.println("Sua mensagem de erro entra aqui"); }

Você também pode mostrar a pilha do erro acrescentando:

try { Fornecedor fornecedor = fornecedorService.findByCNPJ(selectedCpfCnpj); } catch (NoResultException e) { System.out.println("Sua mensagem de erro entra aqui"); System.err.println("Exeption: " + e ); }

Espero que isso te ajude.

O livro Java Deitel tem um capítulo dedicado somente a Exeptions, vale a pena dar uma olhada!

Marques

Hernaene,

Na realidade o que preciso não é um System.out.println(“Mensagem customizada”);
O que preciso é substituir a mensagem “Transaction Failed” por algo com “Sua pesquisa não retornou nenhum resultado” e exibí-la ao usuário.

Tks,

Marques

Hernaneprates

Cara, posso estar enganado, porém esta mensagem de “Transaction Failed” não é um retorno de exeption, pois quando cai
numa exeption é por 3 motivos:

1- Erro de uso: O usuário tentou fazer divisão por zero por exemplo.
Você adiciona um TRY/CATCH pra prever isso e tratar.
2- Erro de programação.
Quando vc tenta acessar uma posição num array onde não existe a posição.
3- Erro da JVM. Esse é mais raro.

Normalmente quando vc não customiza uma mensagem, a exeption automaticamente lança uma
PILHA com a origem, ou seja, o metodo onde o erro começou, até o fim, ou seja, o primeiro
método que chamou para que você possa localizar e ajustar no seu código ou informar ao usuário
como ele deve utilizar o programa.

Resumindo: Seu erro “Transaction Failed” pode estar vindo de qualquer outro lugar
menos desse CATCH. Talvez conexão com Banco de dados…

Posso estar errado, mas acredito que seja isso

rafaduka
throw new NoResultException ("Minha mensagem customizada");
erik.brunno

Pra quem tem duvida sobre a instrução try catch, o funcionamento é bem simples o try traduzido pra nossa quer dizer “Tentar”, bem sabemos que tentar nao necessariamente indica que ira conseguir portanto segue o codigo abaixo.

try{
//Descreva o codigo que deseja executar, caso ocorra algum erro na instrução do seu codigo ira cair no cathc

}

cathc(Exception e){

//Exibe a mensamge do erro que desejar por exemplo

JOptionPane.showMessageDialog(this,“Deu um erro no codigo do try” +e);

}

Espero ter ajudado

Criado 10 de fevereiro de 2012
Ultima resposta 10 de fev. de 2012
Respostas 5
Participantes 4