Tratando Exceções não capturadas
As vezes temos que tratar exceções que foram geradas dentro do fluxo de eventos do framework mas sem quebrar a separação dos layers de apresentação e de domínio.
Um exemplo desta situação ocorre no beansbinding que se levantarmos uma exception em um objeto do domínio ela não vai ser exibida para o usuário.
Uma solução é usar o Thread.setDefaultUncaughtExceptionHandler, um exemplo:
Thread.setDefaultUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
JOptionPane.showMessageDialog(null, "Erro");
}
});
Nov 18th 2009
Boa noite Fabio
estive procurando como capturar as exceptions lançandas sobre o Beansbinding e encontrei o seu blog.
Mas ao terar o que você sugere, não funcionou. Coloquei o seu código no início do meu frame de menu e não funcionou, fiz algo errado?
desde já agradeço
Nov 30th 2009
Pode ser que você esteja na realidade com uma exception sendo tratada em um bloco vazio:
try {
foo();
} catch (…) {
//um dia quem sabe!
}
Ou, não esteja usando a thread correta.
Parafraseando um personagem de novela: “Depurar componentes com arquitetura orientado a evento é a treva.”