Jawa / Говнокод #2809 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
public class Main {
    public static void main(String[] args) {
    	f0();//this is call of f0() from line 4
    	f0();//this is call of f0() from line 4
    }

    public static void f0(){
    	System.out.println("hi, I am f0");
    	Exception e = new Exception();
    	if(e.getStackTrace()[1].getLineNumber()==3){
    		f1();
    	} else if(e.getStackTrace()[1].getLineNumber()==4){
			f2();
    	} 
    }
    
	public static void f1(){
		System.out.println("hi, I am f1");
	}

	public static void f2(){
		System.out.println("hi, I am f2");
	}
}

вот кусочек, который выполняется по разному в зависимости от того с какой строчки в исходном коде он вызван. Сам сочинил.

Запостил: pcherkas pcherkas, (Updated )

Комментарии (8) RSS

  • Ну и че это за херня?
    >>Сам сочинил.
    Мо - ло - дец!
    Ответить
  • Представляю какое удивление ждет аффтара, если класс будет скомпилирован без отладочной информации 🙂
    Ответить
  • Уважаемый, гость, сказавший

    >Представляю какое удивление ждет аффтара, если класс будет скомпилирован без отладочной информации 🙂

    Спешу вас уверить, что информация о номерах строк и названиях файлов исходного кода доступны во время выполнения вне зависимости компилировалась ли программа с или без отлад. информации. Отлад информация лиш добавляет в байт код сведения о названиях локальных переменных.
    Ответить
  • Комментарии про пирожок - не принимаю во внимание, ибо ибо...

    А кто задумается над прикладным смыслом использования информации о номере строки - тому и пирожок не грех дать.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8