Если у меня есть декорированная функция, которая вызывает исключение, которое затем перехватывается в декораторе для выполнения некоторой логики c. Как я могу все еще заставить декорированную функцию возвращать исключение (не вызывая его снова в декораторе).
ПРИМЕР ДЕКОРИРОВАННОЙ ФУНКЦИИ:
@ach_api_error()
def retrieve(self, request, pk=None):
profile = request.user.profile
if not pk:
raise CustomNotFoundException(detail="Not Found.")
return Response(status=status.HTTP_200_OK)
ПРИМЕР ДЕКОРАТОРА:
def ach_api_error():
def decorate(f):
def applicator(*args, **kwargs):
try:
result = f(*args, **kwargs)
return result
except CustomNotFoundException:
#
# PERFORM SOME EXCEPTION LOGGING HERE
#
raise CustomNotFoundException(detail="Not Found.")
return applicator
return decorate
Я хочу, чтобы функция decorate()
возвращала исключение. Как я могу добиться этого, не вызывая одно и то же исключение дважды?