假设我有方法“a”,其中我有一个if条件,并且在if的else块中,我只打印log.warn(“预定义消息”)。我想打印堆栈跟踪以获得正确调用此方法的条件,并且条件失败。
须藤
enter code here
class test{
testa(){
if(condition is true){
//do the stuff
}else {
log.warn("condition failed ");
}
}
}
我想用log.warn打印堆栈跟踪。(我不想使用Thread.currentThread()。getStackTrace(),使用Threads以任何其他方式执行此操作)
答案 0 :(得分:1)
您可以创建Throwable
(请注意,我不是说 throw 一个,只需创建它)并调用fillInStackTrace
*,然后使用{{3 (或者你想做的任何事情)。
*我认为你需要调用fillInStackTrace
,但是构造函数docs似乎建议构造函数调用它,这让我想知道为什么它会是一个公共方法。我可能只是累了。
答案 1 :(得分:1)
您可以使用Thread.currentThread().getStackTrace()
。