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
entanglement
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(Throwablethr){StringWritersw=newStringWriter();PrintWriterpw=newPrintWriter(sw);thr.printStackTrace(pw);StringstackTrace=sw.toString();// faça alguma coisa com este stackTrace...}
E
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.)
J
juliocbq
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).