[Java lista] stack trace hiba ?
Keresztes Jozsef
jkeresztes at vati.hu
2010. Jún. 21., H, 15:34:50 CEST
Sziasztok !
Már régebben is találkoztam ezzel a furcsa dologgal, de most kíváncsi vagyok hogy vélekedtek erről.
Arról van szó amikor egy hibát nem throw new Exception() -el dobunk, hanem a hiba példány elő van
készítve és ezt dobjuk valahol throw-val. Ilyenkor rossz lesz a stack trace, nem kapjuk meg annak a sornak a számát
ahol a hiba keletkezett, hanem azt a sort kapjuk meg ahol a hiba elő lett készítve.
Hogy jobban érthető legyen íme a példa:
package teszt;
public class Main {
// -----
static Exception elokeszitett = new Exception("előkészített");
// -----
public static void main(String args[]) throws Exception {
throw elokeszitett; // 1. hely
//throw new Exception("nem előkészített"); // 2. hely
}
}
Ha így fut le ahogy látjátok (1. hely) akkor rossz a sorszám a stack trace-ben (nem az 1. helyre mutat),
ha a 2. hely szerint, vagyis a szokásos módon megy a dolog akkor persze jó a trace is.
Ez miért van ?
Joe
További információk a(z) Javalist levelezőlistáról