我有一个用于基本操作的计算器程序。当除以零时,会抛出一个异常,我处理了这个异常,但最终在响应代码中422它出现而不是500.原因尚不清楚。
代码:
import operator
from flask import Flask, jsonify
from flask_jsonrpc import JSONRPC
app = Flask(__name__)
jsonrpc = JSONRPC(app, "/api", enable_web_browsable_api=True)
@jsonrpc.method("calc.truediv")
def truediv(a: float, b: float) -> float:
try:
result = operator.truediv(a, b)
return result
except ZeroDivisionError as exc:
response = jsonify(
{
"jsonrpc": "2.0",
"id": 4,
"error": {"code": -32000, "message": str(exc)},
}
)
return response
if __name__ == "__main__":
app.run("0.0.0.0", debug=True)
它应该看起来像这样:
我是这样理解的:



您还可以这样做: