Capturar Exceções  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
trevezani
Entusiasta Java

Membro desde: 29/03/2006 11:03:54
Mensagens: 23
Offline

E ai Pessoal,

Estou querendo achar uma forma de capturar as exceções do meu projeto e exibi-las, ao invés do console, em uma janela swing. Existe alguma forma de fazer isso?

Desde já agradeço a atenção,

[],s

Alberto
von.juliano
GUJ Master
[Avatar]

Membro desde: 15/01/2007 13:31:32
Mensagens: 1266
Offline


Isso vai usar JOptionPane para imprimir a mensagem de erro, mas não acho uma boa idéia, a mensagem pode ser meio grande!

É difícil manter-se religioso quando algumas pessoas simplesmente não são carbonizadas por raios!

Desenvolvendo software de forma simples! - http://vonjuliano.wordpress.com/
[Email] [WWW]
Anlugifa
Entusiasta Java
[Avatar]

Membro desde: 20/12/2006 12:51:39
Mensagens: 15
Localização: Curitiba
Offline

Use os métodos static da class JOptionPane.

Ex:
JOptionPane.showMessageDialog(null, "Mensagem");
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Thread.setUncaughtExceptionHandler

Deve resolver o seu problema. Todas as exceções Runtime que não são capturadas são enviadas para esse método. Você então pode redireciona-las para onde quiser. Aqui usamos para simplesmente dar uma única vez a mensagem "There are uncaught exceptions, see log for details" e gravamos a exceção em si num log textual.

Tudo muito limpo e sem aterrorizar o pobre do usuário.
[WWW]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

von.juliano wrote:
Isso vai usar JOptionPane para imprimir a mensagem de erro, mas não acho uma boa idéia, a mensagem pode ser meio grande!


Nunca faça um try...catch como esse. Se você tiver absoluta certeza que deve faze-lo, pense novamente e trate as exceções específicas. Senão novas exceções no futuro também poderão ser pegas. E lembre-se que exceções de Runtime também serão capturadas nesse código horrível aí em cima.

Do contrário, use um UncaughtExceptionHandler para capturar as exceções de Runtime que eventualmente você não conseguiu capturar e trate as exceções específicas, seja se livrando do problema, dando uma mensagem ao usuário ou redirecionando a exceção para a classe de cima.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
trevezani
Entusiasta Java

Membro desde: 29/03/2006 11:03:54
Mensagens: 23
Offline

Minha idéia é capturar as exceções que não estão tratadas no Try/Catch. Por exemplo: Ocorreu uma exceção em uma SQL que não está tratado, o erro irá ocorrer e irá gerar no console. Eu quero capturar essa exceção e mostrar em uma janela.

=)
trevezani
Entusiasta Java

Membro desde: 29/03/2006 11:03:54
Mensagens: 23
Offline

Obrigado pelas dicas pessoal. Pesquisei a dica do ViniGodoy e consegui fazer o que estava querendo. Segue abaixo o código implementado:

No Main:




Classe que captura as exceções

fksalviano
Smalltalk
[Avatar]

Membro desde: 08/01/2009 09:37:30
Mensagens: 2
Offline

Valeu pela dica, estava procurando exatamente por isso mesmo!!
Abraços!

Obrigado.

"Quem foi que disse que a vida é fácil..."
Capitão Nascimento - Bope - Tropa de Elite.
[Email] [MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

De nada.
É estranho receber agradecimento 2 anos depois de dar a dica...


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
fksalviano
Smalltalk
[Avatar]

Membro desde: 08/01/2009 09:37:30
Mensagens: 2
Offline

É porque estou começando com java agora e, como precisei disso, procurei no fórum e achei sua dica!

Abraço!

"Quem foi que disse que a vida é fácil..."
Capitão Nascimento - Bope - Tropa de Elite.
[Email] [MSN]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team