java - 获取方法调用者的行号?

标签 java debugging logging line-numbers

在Java中有没有办法获取方法调用者的行号?我不想抛出异常。我必须使用堆栈跟踪吗?有什么方法可以以便宜的方式做到这一点吗?

编辑:为了澄清,我不想要调用者类的行号。我想要调用方法的确切行。

最佳答案

Aasmund 提供的答案有效,但您最好使用

Thread.getStackTrace() 而不是 Exception.getStackTrace(),因为您实际上对异常不感兴趣。

实际上,这不会有太大区别,但您的代码会更清楚地反射(reflect)您的意图。

int callersLineNumber = Thread.currentThread().getStackTrace()[1].getLineNumber();

关于java - 获取方法调用者的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31128053/

相关文章:

java - 在Java中关闭MySQL的execute()查询

java - 有没有办法从 build.xml 中指定本地 jsch.jar 的位置?

java - 在 Eclipse 中制作自定义调试 watch 的最简单方法?

java - 切入点不适用于 Spring AOP

.net - 应用程序日志记录

python - 如何在 Python 日志记录中设置 GMT/UTC 时间戳?

java - 有weka JSONLoader的使用示例吗?

java - Spring IsFormSubmission 带注释

.net - 当变量在 .NET 中获得特定值时,我可以设置断点吗?

android - 是否可以在运行时观察变量?