[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