【发布时间】:2012-10-12 18:40:00
【问题描述】:
程序中没有一个方法“知道”它在堆栈中的位置。它所知道的只是它自己的小工作,它会做这件事并返回。那么当抛出异常并打印堆栈跟踪时,这是从哪里来的呢?
在 JVM 中的每个应用程序旁边是否隐式运行了一个单独的线程来监视程序的状态?还是 JVM 本身持有这些信息,而异常在抛出时会以某种方式从中提取数据?
如果出现上述任何一种情况,是否可以使用某些调用来检索堆栈跟踪(从监视器线程或 JVM) 不会引发异常?
【问题讨论】:
标签: java exception stack-trace