whoops! The code should be: def decorator(arg): def raise_exception(fn): raise Exception return raise_exception class some_class(object): @decorator('meaningless string') def some_method(self): print "An exception should be raised when I'm called, but not when I'm defined"