Почему при вызове System.out.println(elements[0].getLineNumber()); выдаёт номер строки 1559?
package com.javarush.task.task09.task0903;
/*
Кто меня вызывал?
*/
public class Solution {
public static void main(String[] args) throws Exception {
method1();
}
public static int method1() {
method2();
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
return elements[2].getLineNumber();
}
public static int method2() {
method3();
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
return elements[2].getLineNumber();
}
public static int method3() {
method4();
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
return elements[2].getLineNumber();
}
public static int method4() {
method5();
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
//System.out.println(elements[0].getLineNumber());
// for (StackTraceElement element : elements)
// {
// System.out.println(element.getMethodName());
// }
return elements[2].getLineNumber();
}
public static int method5() {
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
System.out.println(elements[0].getLineNumber());
for (StackTraceElement element : elements)
{
System.out.println(element.getMethodName());
}
return elements[2].getLineNumber();
}
}
