边城@浪子 2023-08-04 16:44 采纳率: 0%
浏览 4
已结题

捕获fastapi_jsonrpc的错误

在使用fastapi的fastapi_jsonrpc框架时,遇到一个问题,fastapi_jsonrpc内部定义了一些错误,例如内部错误,解析错误,但是我想要捕获这些错误,然后以自己的格式返回,要怎么处理,使用了如下的格式,但是依然没有作用。
fastapi_jsonrpc 框架地址 https://github.com/smagafurov/fastapi-jsonrpc

框架内部定义的错误有

class ParseError(BaseError):
    """Invalid JSON was received by the server"""
    CODE = -32700
    MESSAGE = "Parse error"


class InvalidRequest(BaseError):
    """The JSON sent is not a valid Request object"""
    CODE = -32600
    MESSAGE = "Invalid Request"
    error_model = ErrorModel


class MethodNotFound(BaseError):
    """The method does not exist / is not available"""
    CODE = -32601
    MESSAGE = "Method not found"


class InvalidParams(BaseError):
    """Invalid method parameter(s)"""
    CODE = -32602
    MESSAGE = "Invalid params"
    error_model = ErrorModel


class InternalError(BaseError):
    """Internal JSON-RPC error"""
    CODE = -32603
    MESSAGE = "Internal error"

想要捕获这些错误,该如何处理?

    @app_rpc.exception_handler(Exception)
    async def default_exception_handler(request,exc):
        return {"detail": "An error occurred"}
  • 写回答

2条回答 默认 最新

  • 梦幻精灵_cq 2023-08-04 16:57
    关注
    • 用Exception关键字捕获异常提示字符串到变量error_tip,然后调用自定义函数以自己“想要的格式”打印输出。
    • 您看看,这是不是您想的样子?
    • python 代码demo
    
    try:
        pass
    except Exception as error_tip;
        myfun(error_tip)
    
    

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月20日
  • 创建了问题 8月4日

悬赏问题

  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题