我是mulesoft的新手,在学习它的同时,我努力了解为什么在执行范围后,为什么在模块“ onErrorPropagate”上错误被重新抛出。
您能解释一下好处吗?
答案 0 :(得分:1)
错误传播将回滚所有事务,执行并使用该结果重新抛出现有错误-这意味着其所有者将被视为“失败”。
最好的用途是在分层系统中,以允许每一层都执行其自己的一小部分错误响应。
如果您熟悉Java,则可以将其视为捕获异常并重新抛出它。例如,有时您想自己对错误进行处理,但仍希望向上传播该错误,以进行更高级别的处理。
您可以在错误的特定流中添加日志记录,然后将其留给父流以实际处理异常。
答案 1 :(得分:1)
“ onErrorPropagate”将错误传播(重新抛出)到父流程(或全局错误处理程序,如果已经到达主流的话)。
在某些情况下这可能很有用。 假设您有一些特定于流的错误处理(例如,如果出现问题,请设置默认有效负载)。 然后,将此错误传播到下一个级别,在该级别中,您将具有全局错误处理程序,例如,将一些信息存储在QA数据库中。
您不想在每个错误处理程序中都具有该数据库连接器。 这样,您就可以为自己的错误实现类似于“ java继承”的结构。
旁注:如果只希望处理错误并且不做进一步处理,则可以使用“ onErrorContinue”