是否可以通过堆栈帧访问方法参数?
由于我一直在从事的一个项目,我遇到了这种需求。如果发生异常,我想做一些日志记录。如果可能的话,我想递归地记录一个方法的名称和参数,直到我到达“上层”。
这是一个小例子:
class Parent{
public int parentMethod(int param1) {
String param2;
Child child = new Child();
(...)some Work(...)
int ret = child.childMethod(param1, param2);
(...)some More Work(...)
return ret;
}
}
class Child{
public int childMethod(int param1, String param2) {
(...) do more stuff (...)
try {
(...) this might generate an exception(...)
}catch(Exception e) {
(...) log method name and parameters value(...)
}
}
}
因此,在这种情况下,我想记录以下内容:-childMethod: param1 value, param2 value- -parentMethod: param1 value-