Я хочу сделать декоратор, который будет ловить исключения и адекватно их протоколировать.
def logger(foo):
try:
print foo()
except Exception as e:
print e
@logger
def d():
return 2/2
if __name__ == '__main__':
d()
Вроде бы все правильно, но потом я запускаю его и получаю исключение вроде этого:
1
Traceback (most recent call last):
File "log.py", line 14, in <module>
d()
TypeError: 'NoneType' object is not callable
Почему интерпретатор говорит мне, что функция имеет тип None, но вызывает ее и выводит ответ?