public static void printCurrentStackTrace() {
try {
StackTraceElement[] cause = Thread.currentThread().getStackTrace();
if(cause==null || cause.length==0)
return;
// 1st stack is skipped
for( int i=0 ; i<cause.length ; i++ ) {
if(i==1)
continue;
System.err.println(cause[i].toString());
}
} catch(SecurityException e) {
e.printStackTrace();
return;
}
}
public static void printErrorAndStackTrace(String err) {
System.err.println(err);
try {
StackTraceElement[] cause = Thread.currentThread().getStackTrace();
if(cause==null || cause.length==0)
return;
// 1st stack is skipped
for( int i=0 ; i<cause.length ; i++ ) {
if(i==1)
continue;
System.err.println(cause[i].toString());
}
} catch(SecurityException e) {
e.printStackTrace();
return;
}
}
try {
StackTraceElement[] cause = Thread.currentThread().getStackTrace();
if(cause==null || cause.length==0)
return;
// 1st stack is skipped
for( int i=0 ; i<cause.length ; i++ ) {
if(i==1)
continue;
System.err.println(cause[i].toString());
}
} catch(SecurityException e) {
e.printStackTrace();
return;
}
}
public static void printErrorAndStackTrace(String err) {
System.err.println(err);
try {
StackTraceElement[] cause = Thread.currentThread().getStackTrace();
if(cause==null || cause.length==0)
return;
// 1st stack is skipped
for( int i=0 ; i<cause.length ; i++ ) {
if(i==1)
continue;
System.err.println(cause[i].toString());
}
} catch(SecurityException e) {
e.printStackTrace();
return;
}
}