比如Class A有个methodA(), 我如何知道这个methodA()被调用的关系,比如是被Class B的methodB()中的 Class C 的methodC()调用的。目前我是用这个方法,直接在methodA()里面throw Exception,就可以知道这个运行时的调用关系了,但是有麽可有其他的方法可以知道???
2条回答 默认 最新
- iteye_3976 2010-10-15 16:36关注
其实你已经摸到边了,确实是异常处理那部分中有,不过不用你那么麻烦
[code="java"]public class Foo {
public void m1() { m2(); } public void m2() { Throwable ex = new Throwable(); StackTraceElement[] stackElements = ex.getStackTrace(); if (stackElements != null) { for (StackTraceElement ste : stackElements) { System.out.println("[File:" + ste.getFileName() + "]" + ste.getClassName() + "." + ste.getMethodName() + "():" + ste.getLineNumber()); } } } public static void main(String[] args) { new Foo().m1(); }
}[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
- ¥15 孟德尔随机化怎样画共定位分析图
- ¥18 模拟电路问题解答有偿速度
- ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
- ¥15 误删注册表文件致win10无法开启
- ¥15 请问在阿里云服务器中怎么利用数据库制作网站
- ¥60 ESP32怎么烧录自启动程序
- ¥50 html2canvas超出滚动条不显示
- ¥15 java业务性能问题求解(sql,业务设计相关)
- ¥15 52810 尾椎c三个a 写蓝牙地址