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