def decorated_function(*args, **kwargs): try: return func(*args, **kwargs) except Exception as e: trace_back = traceback.format_exc() ExceptionTracing.trace(e, trace_back) raise UserException(e.with_traceback(None), e.status_code, trace_back)
def __init__(self, error, exception, *args, **kwargs): """Return a valid BusinessException.""" super().__init__(*args, **kwargs) self.message = error.message self.error = error.message self.code = error.name self.status_code = error.status_code self.detail = exception # log/tracing exception ExceptionTracing.trace(self, traceback.format_exc())