在Java中有没有办法获取方法调用者的行号?我不想抛出异常。我必须使用堆栈跟踪吗?有什么方法可以以便宜的方式做到这一点吗?
编辑:为了澄清,我不想要调用者类的行号。我想要调用方法的确切行。
最佳答案
Aasmund 提供的答案有效,但您最好使用
Thread.getStackTrace()
而不是 Exception.getStackTrace()
,因为您实际上对异常不感兴趣。
实际上,这不会有太大区别,但您的代码会更清楚地反射(reflect)您的意图。
int callersLineNumber = Thread.currentThread().getStackTrace()[1].getLineNumber();
关于java - 获取方法调用者的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128053/