实现一个从不抛出 AttributeError 或 TypeError 的类的最佳方法是什么?
这个想法是我有这样的课
class A():
def __init__(self):
self.logger = NeverThrowClass()
def set_logger(self, logger):
self.logger = logger
def do_stuff(self)
self.logger.info('Stuff is being done.')
pass
每当对某些类方法进行分类时,我们都会将一些内容写入日志文件。但是,如果没有指定日志文件,我仍然希望类方法起作用。我意识到我可以在访问时捕获异常self.logger
,但我宁愿让默认logger
属性是一些神奇NeverThrowClass()
的,无论如何都会接受被调用,并且礼貌地什么都不做,并返回None
任何属性值,以便类仍然可以正常工作是否指定了记录器。