如果有异常发生,则会更新消息树内容。
如果处理消息期间没有发生异常,则单个节点接收到的树结构和内容由流中先前节点的操作确定。
如果在消息流中发生异常,则这四个树的内容取决于以下几个因素:
异常处理路径开始于 Failure 终端(大多数消息处理节点都具有这些终端),或者开始于输入节点、TryCatch 节点或 AggregateReply 节点的 catch 终端,但是这些路径与正常消息流路径在本质上没有任何不同。此类流由一系列消息流设计者连接在一起的节点组成。异常处理路径在它们用于记录异常及对异常做出的反应的处理类型上存在不同。例如,它们可能会检查异常列表以确定错误的性质,并采取相应的操作或记录来自消息或异常的数据。
传播到异常处理消息流路径的 LocalEnvironment 和消息树都是异常路径开始处的而不是抛出异常处的 LocalEnvironment 和消息树。下图描述了此点: