Capturar exceção que só o eclipse captura

5 respostas
mrbox

Pessoal,
Fiz um player de mp4 usando J2SE.
Para reproduzir os arquivos mp3 e mp4, utilizo uma biblioteca de terceiros onde eu não possuo o código fonte.
O player funciona bem, mas quando existe por exemplo um arquivo corrompido (mp3 ou mp4), ele trava o sistema e não exibe nenhuma exceção.

Rodando a aplicação pelo Eclipse, é possível ver a exceção que é gerada, mas não consigo capturá-la, pois, se o arquivo mp3 ou mp4 está corrompido, o player consegue carregá-lo normalmente, e só após alguns segundos de execução é que ocorre o problema.

Já tentei até fazer a seguinte gambiarra:

public static void main(String[] args) {
		
		try {
			java.awt.EventQueue.invokeLater(new Runnable() {

				public void run() {
					new FrmPrincipal().setVisible(true);
				}
			});
		} catch (Exception e) {
			javax.swing.JOptionPane.showMessageDialog(null, e.getMessage());
		}
	}

Mas não obtive sucesso.

A pergunta é, se o eclipse consegue capturar a exceção, então seria possível captura-la também?
Como devo proceder?

O problema é que a exceção é gerada após alguns segundos de execução da mp3 ou mp4, portanto, não sei como capturá-la.

5 Respostas

rubinelli

Você já tentou pôr o try…catch dentro do método run? Também não sei se vai funcionar, porque desconfio que essa biblioteca crie outras threads, mas já é um passo na direção certa. (só lembrando, quando uma thread dá exceção, ela termina e não joga para a thread pai)

mrbox

Sim, ja fiz isso. O caso é que ele executa sem problemas, roda normal já que o arquivo está corrompido no meio. Ele começa a execução e não dispara exceção, só depois, é que trava tudo.

EderBaum

Creio que o eclipse não está captuando a Excessão e sim apenas imprimindo no console algum comando “System.out.print” vindo da biblioteca.

Ai fica bem dificil.

mrbox

É exceção sim. Ela é apresentada como Exception na tela de console do Eclipse.
"Exception - RTA Error… "

peczenyj

adicione mais um catch, pegando RuntimeException e veja o que acontece.

Criado 28 de outubro de 2008
Ultima resposta 28 de out. de 2008
Respostas 5
Participantes 4