ich würde gerne in einem Exception-Hook auf eine Komponente zugreifen, die ich zuvor mit einem Decorator an einer Funktion hinterlegt habe. Ich will auf diese Weise hinterlegen, welche Lokalen bei einer Exception ausgegeben werden sollen, ohne das dadurch ein Laufzeit-Overhead entsteht:
Code: Alles auswählen
#!/usr/bin/env python
import sys
class mydecor(object):
def __init__(self, *args):
self.args = args
def __call__(self, func):
func.__mydecor__ = self.args
return func
@mydecor('a', 'b', 'c')
def TestFunc(a, b):
c = a + b
return c + d
def MyExceptionHandler(exc_type, exc_value, exc_traceback):
print 'How to access __mydecor__ here, that is a property of the function object???'
sys.excepthook = MyExceptionHandler
TestFunc(1, 2)
template