实现错误,无法捕获异常!
bug.py
import hug import time import hug.development_runner
class UserError(Exception): code = 500 message = "Invalid username"
def __init__(self):
...api = hug.API(name)
@hug.exception(UserError, api=api) def handler_user_error(request, response, exception: UserError): response.status = hug.falcon.HTTP_200 data = dict(data=None, msg=exception.message, timestamp=time.time(), code=exception.code) response.body = hug.output_format.json(data)
route = hug.http(api=api)
@route.get("/test") def get_data(**kwargs): print("GET data") raise UserError()
run-bug-server.py
import hug.development_runner hug.development_runner.hug("bug.py", port=5000)
curl --location --request GET 'localhost:5000/test' {"errors": {"exception": "init() takes 1 positional argument but 2 were given"}}
{ "errors": { "exception": "init() takes 1 positional argument but 2 were given" } }
内容来源: hugapi/hug