Zdravím,
pokud se zásobník volání vypisuje metodou printStackTrace(), výpis se od
konce ořezává. Pokud chcete vidět výpis zásobníku celý, asi nezbývá než
"ručně" projít výstup getStackTrace() a pak rekurzivně pro getCause()
(nezapomeňte, že getCause() může vracet sama sebe – ať se vám výpis
zásobníku volání nezacyklí).

Jinak dlouhý výpis zásobníku volání, ve kterém není váš kód, svědčí
především o špatné práci s výjimkami. Když výjimku zachytíte, zalogujete a
případně vyhodíte dál jako ošetřenou výjimku, budete mít příslušné místo ve
vašem kódu jednak v logu, jednak na vrcholu té ošetřené výjimky, kterou
vyhodíte dál.

S pozdravem

Filip Jirsák


Dne 7. července 2011 9:00 "Zdeněk Troníček" <troni...@fit.cvut.cz>napsal(a):

> Ahoj,
>
> výpis zásobníku by měl být kompletní. Není to tím, že jde o vlákno z
> knihovny? Můžeš poslat ukázku výpisu?
>
> Z.
> --
> Zdenek Tronicek
> FIT CTU in Prague
>
>
> Libor Jelinek napsal(a):
> > Dobrý den,
> > zase jedna libůstka. Už podruhé během dvou dní se mi stalo, že mi spadla
> > aplikace nekontrolovanou vyjímkou od RuntimeException (IllegalState
> > apod.).
> > Ve výpisu je asi 40 řádků jak ale žádný odkaz není v mé aplikaci - musel
> > jsem přemýšlet co jsem přidal a změnil od posledního commitu, celkem
> > náhodně
> > zkoušet a stejně jsem na nic nepřišel. Musel jsem se se vrátit o verzi
> > zpátky a napodruhé jsem nikdy nepřeklep nebo čím to bylo neudělal.
> >
> > Teď znova. Grrr. *Co mám udělat proto aby ve stack trace vyjímky bylo vše
> > až
> > na přibližné místo mé vlastní aplikace? *Znovu dlouhý výpis, ale žádný
> > odkaz
> > není v mé aplikaci, ale v knihovnách, které používám.
> >
> > Díky. Jsem z toho už zoufalý!
> > Libor
> >
>
>

Reply via email to