对于我的异常类,我想知道实例化异常对象的函数是否是方法,如果是,则显示类名。
因此,在我的异常类的 init 方法中,我得到了调用函数的名称:
frame, module, line, function, context, index = inspect.stack()[1]
但是有没有办法获得调用函数的类名(如果有的话)?
答案 0 :(得分:2)
假设该帧用于实例方法:
self_argument = frame.f_code.co_varnames[0] # This *should* be 'self'.
instance = frame.f_locals[self_argument]
class_name = instance.__class__.__name__