我如何从方法主体内部进行检查,如果我调用的方法又反过来调用我的方法。
// the method, that I control
public void myMethod() {
if( stackContainsMyMethod() ) {
throw new RuntimeException("do not call me");
}
...
handler();
}
// someone else implements this
protected abstract void handler();
处理程序不得调用myMethod()。我想在运行时强制执行此操作。有人可以用一种简单的方法来帮助吗?
问候。
如果要查看当前的堆栈跟踪并自己检查:
StackTraceElement[] trace = Thread.currentThread().getStackTrace();
for(int i=0; i < trace.length; i++) {
//look for yourself and exit
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句