Porque as vezes uma StackOverFlow nao mostra stack trace?

4 respostas
Paulo_Silveira

oi pessoal

fico com MUITA raiva disso.
as vezes uma stackoverflow imprime a stack dela (que com todo sentido eh gigante), ams as vezes ela vem vazia, ai nao da pra saber a linha do erro sem debugar! porque?

obrigado

4 Respostas

cv1

Cara, eu juro q eu nunca vi isso… vc tem algum exemplo aih, ou esse comportamento eh completamente indeterministico?

Ironlynx

Acho Pq ela ocorre antes de StackTraceElement[0]!Esse eh o ponto em q o stacktrace eh gerado…como ocorre antes de chamar Throwable.getStackTrace() ,não aparece nada na sua pilha de erros…
Aí é retornado zero length array para getStackTrace().
(Posso estar totalmente errado!)
Lendo getStackTrace() tem isso:

Mas não diz em nenhum lugar pq isso ocorre… :roll:

Paulo_Silveira

puts iron! valeu! pelo menos esta documentado.

entao cv, nao reparei se eh um comportamnento deterministico. nao sei dizer as regras de quando ocorre.

mas faz sentido neh? se deu stack over flow, como a VM vai empilhar mais um frame para dar o fillIn?

cv1

Eh, faz sentido sim… alias, foi legal uma vez em que eu consegui um OutOfMemoryError na hora de preencher o stack trace de uma outra exception no WebSphere 4. Ah, bons tempos aqueles…

Criado 8 de fevereiro de 2004
Ultima resposta 9 de fev. de 2004
Respostas 4
Participantes 3