我的目标是在我的程序遇到意外行为时引发 SystemExit 并记录错误。
我正在做类似的事情:
logger.error('Unexpected behaviour')
raise SystemExit
为了避免代码中的重复,我尝试编写一个装饰器来在每个 logger.error 调用时引发 SystemExit:
error = logger.error
def error_from_logger(msg) :
''' Decorator for logger.error to kill the program at the call '''
error(msg)
raise SystemExit
logger.error = error_from_logger
del(error_from_logger)
所以我的问题是:我的装饰器是pythonic吗?如果不是,最好的 Pythonic 方式是什么?(我看到人们使用@something,但我不明白它的用法)。
谢谢!