You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
1.2 KiB

7 months ago
  1. # 错误处理流程
  2. ```angular2html
  3. 错误发生的时刻:
  4. 1. 运行时
  5. 2. 前端调用后端接口
  6. 运行时错误:
  7. 抛出路径:
  8. event --> eventBus --> FrontEndEventRouter --> webSocket
  9. 事件通过eventBus传递到FrontEndEventRouter, 进行初步处理后,通过webSocket传递到前端。
  10. 一般通过 A8kErrorsPromptEvent 和 AppExceptionEvent 传递错误信息
  11. 前端调用后端接口:
  12. 以异常的形式抛出,被Springboot的异常处理器捕获,返回给前端。
  13. 异常通常是AppException(内部只包含AppError一个对象)
  14. 调用接口错误返回的结构
  15. code:A8kEcode,
  16. data:ZAppPromopt,
  17. dataType:ZAppPromopt,
  18. 发生错误后返回的结构为ZAppPromopt和错误码,如果前端需要对错误进行一定的逻辑处理,则通过code进行逻辑判断
  19. 如果前端只需要展示错误信息,则通过data(ZAppPromopt)进行展示即可。
  20. 后续考虑在返回值的结构中加入errorAttachment,用于前端进行更复杂的异常显示。
  21. 事件:
  22. 系统运行中会产生各种事件,与前端相关的事件会被FrontEndEventRouter收集,如果是设备运行错误相关的事件,则会被转换成
  23. ZAppPromopt,通过webSocket传递到前端。
  24. ```