Duvida javafx2

4 respostas
jonasjgs2

eu fiz um aplicativo em javafx
e depois de muito esforco consegui fazer ele rodar legal…

estou rodando o aplicativo em desktop

porem para que eu possa ver as excessoes eu tenho que executar o aplicativo.jar com
java -jar aplicativo.jar

eu gostaria que quando desse uma excessao esta aparecesse diretamente na tela
para o usuario…
e de preferencia ate parasse a aplicacao…

existe alguma maneira de resolver esse problema?
porque fazendo isso fica mais facil para identificar alguma coisa que aconteca…

4 Respostas

J

jonasjgs2:
eu fiz um aplicativo em javafx
e depois de muito esforco consegui fazer ele rodar legal…

estou rodando o aplicativo em desktop

porem para que eu possa ver as excessoes eu tenho que executar o aplicativo.jar com
java -jar aplicativo.jar

eu gostaria que quando desse uma excessao esta aparecesse diretamente na tela
para o usuario…
e de preferencia ate parasse a aplicacao…

existe alguma maneira de resolver esse problema?
porque fazendo isso fica mais facil para identificar alguma coisa que aconteca…

Você quer repassar ao seu cliente informações de debug? Você precisa tratar essas exceções e emitir mensagens de erro simples. Informação de depuração só serve para programadores.

E

Se seu programa JavaFX precisa de uma MessageBox, pode tentar algo parecido com isto aqui:

Você pode pegar seu stack trace e jogá-lo nessa Message Box.

Uma forma boboca de converter um Stack Trace em uma String é:

} catch (Throwable thr) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter (sw);
thr.printStackTrace(pw);
String stackTrace = sw.toString();
// faça alguma coisa com este stackTrace...
}
E

Obviamente, a melhor forma de criar uma mensagem de erro é deixar esse Stack Trace “escondido” (ou seja, você deve criar um botão que pega esse stack trace e o joga no clipboard, para que o usuário possa copiar o stack trace para o desenvolvedor. Simplesmente fazer um shift-printscreen da tela é ruim porque o stack trace normalmente não cabe em uma Message Box.)

J

entanglement:
Obviamente, a melhor forma de criar uma mensagem de erro é deixar esse Stack Trace “escondido” (ou seja, você deve criar um botão que pega esse stack trace e o joga no clipboard, para que o usuário possa copiar o stack trace para o desenvolvedor. Simplesmente fazer um shift-printscreen da tela é ruim porque o stack trace normalmente não cabe em uma Message Box.)

Ou jogar em um arquivo de texto como um log. Por exemplo quando a exceção disparar criar um arquivo “erros.log”. Para o usuário você cria uma mensagem de erro simples que remete ao local exato da exceção no log(a informação que você precisa para saber qual problema ocorre).

Criado 27 de agosto de 2012
Ultima resposta 27 de ago. de 2012
Respostas 4
Participantes 3