10.错误处理

优质
小牛编辑
128浏览
2023-12-01

Flask-SocketIO也可以处理异常:

@socketio.on_error()     # handles the dafault namespace
def error_handler(e):
  pass

@socketio.on_error('/chat') # handles the '/chat' namespace
def error_handler_chat(e):
  pass

@socketio.on_error_default  # handles all namespaces without an explicit error handler
def default_error_handler(e):
  pass

错误处理函数将异常对象作为一个参数

这个消息和数据参数作为当前的请求将会被察觉request.event变量察觉,这有利于外部活动处理函数的错误日志和调试

from flask import request

@socketio.on("my error event")
def on_my_event(data):
  raise RuntimeError()

@socket.on_error_default
def default_error_handler(e):
  print(request.event["message"]) # "my error event"
  print(request.event["args"])  # (data,)