- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
public class SomeJavaTest {
public static void main(String[] args) {
System.out.println(getClassAndMethod());
try {
int k = 2 / 0;
} catch (Exception e) {
System.out.println(getClassAndMethod());
}
}
public static String getClassAndMethod() { //Возвращает название класса и метода в которых вызывается
Throwable t = new Throwable();
StackTraceElement trace[] = t.getStackTrace();
int stackLevel = 2;
if (trace.length > stackLevel) {
StackTraceElement element = trace[stackLevel];
return new StringBuffer(element.getClassName()).append(".").append(element.getMethodName()).toString();
}
return "no info";
}
}
Кто-нибудь расскажет, что за курево в методе getClassAndMethod() ?
trace level 1 = SomeJavaTest.getClassAndMethod(SomeJavaT est .java)
trace level 2 = SomeJavaTest.main(SomeJavaTest .java)
Обычный хак
Вот почему: http://www.youtube.com/watch?v=mZ7pUADoo58
http://govnokod.ru/12196
man exit
кроме того в iOS вообще закрывать программы моветон
null.toString();
ты пиздун
хахаха
иди спать, дурачок
ну возьми джаву и проверь
нету стектрейсов у NPE
http://stackoverflow.com/questions/2411487/nullpointerexception-in-java-with-no-stacktrace
You are probably using the Sun JVM, which performs a lot of optimization. To get the stack traces back, you need to pass the option -XX:-OmitStackTraceInFastThrow to the JVM.
Порадовало. Интерпретатор сразу разберется, что к чему.