我有一个用pyramid_rpc编写的应用程序。我们通过json_rpc在网上调用我们的函数。有时用户输入有错误(逻辑错误),我想向用户返回自定义错误。例如,考虑这部分代码:
@jsonrpc_method(method='calc.insurance.fee', endpoint="api")
def market_engine_beta(request, person_id: int, age: int):
if age < 10:
raise ValueError('age should be bigger than 10')
但是当我用age = 8调用方法时,我看到了这个错误: {“jsonrpc”:“2.0”,“id”:“1”,“错误”:{“message”:“内部错误”,“代码”:-32603}}
如何将错误返回给用户? 注意: 我也试过这个链接:http://docs.pylonsproject.org/projects/pyramid//en/latest/narr/views.html#custom-exception-views
答案 0 :(得分:0)
你可以举JsonRpcError
;如果您将pyramid_rpc
包含在config.include
中,则应该有一个自定义异常视图来正确处理这些内容。
对于具有自定义视图的自定义异常应该有效;但是,确保代码确实正确并且不会导致抛出其他异常非常重要。