Python 避免在端点上引发异常的最佳实践?

Python 避免在端点上引发异常的最佳实践?,python,exception,exception-handling,try-catch,endpoint,Python,Exception,Exception Handling,Try Catch,Endpoint,我正在公开HTTP端点,这些端点只使用瓶子输出JSON 当前抛出的错误:{'error':%s,'error_message':%s,'status_code':} 因此,在我所有的端点修饰函数中,我有: 试试看: someObj= 除e以外: response.status=e.response.pop('status_code',500) 返回e.response response.status=someObj.response.pop('status_code',200) 返回someOb

我正在公开HTTP端点,这些端点只使用瓶子输出JSON

当前抛出的错误:
{'error':%s,'error_message':%s,'status_code':}

因此,在我所有的端点修饰函数中,我有:

试试看:
someObj=
除e以外:
response.status=e.response.pop('status_code',500)
返回e.response
response.status=someObj.response.pop('status_code',200)
返回someObj.response
但我可以很容易地避免同时使用异常,从而生成更简洁的端点代码,同时减少开销

但也有缺点;其他开发人员需要至少阅读或运行一次代码才能理解输出格式


文档将在这里工作;然而,这整个设置是一种糟糕的做法吗?

与此同时,我写了这个糟糕的替代品:

# Not a decorator because I can't work out how to give `@route(apply=)` func args
def error_else_response(init_with):
    try:
        result = init_with(**request.query)
    except <CustomError> as e:
        response.status = e.msg.pop('status_code')
        return e.msg

    response.status = result.response.pop('status_code')

    return result.response


@route('/augment')
def augment():
    return error_else_response(<CustomClass>)
#我不是装饰师,因为我不知道如何给出`@route(apply=)`func参数
def error_else_响应(初始化):
尝试:
result=init_,带(**request.query)
除e以外:
response.status=e.msg.pop('status\u code')
返回e.msg
response.status=result.response.pop('status\u code'))
返回result.response
@路由(“/augment”)
def augment():
返回错误\u else\u response()