??在C语言中,可以通过宏FILE、LINE来获得文件名和行号,在Java语言中,则可以通过StackTraceElement类来获得文件名、类名、方法名、行号,具体代码以下:
public static int getLineNumber( ){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
return stackTrace[1].getLineNumber( );
}
public static String getMethodName( ){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
return stackTrace[1].getMethodName( );
}
public static String getFileName( ){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
return stackTrace[1].getFileName( );
}
public static String getClassName( ){
StackTraceElement[] stackTrace = new Throwable().getStackTrace();
return stackTrace[1].getClassName();
}