金字塔jsonrpc中的自定义错误消息

时间:2015-08-26 10:56:47

标签: python-3.x pyramid json-rpc

我有一个用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

1 个答案:

答案 0 :(得分:0)

你可以举JsonRpcError;如果您将pyramid_rpc包含在config.include中,则应该有一个自定义异常视图来正确处理这些内容。

对于具有自定义视图的自定义异常应该有效;但是,确保代码确实正确并且不会导致抛出其他异常非常重要。