我定义了以下风管:
val augmenter1 = new Augmenter1
val augmenter2 = new Augmenter2
val augmenter3 = new Augmenter3
val defaultEventAugmenterPipeline: Duct[Event, Event] = Duct[Event].
map(augmenter1.augment).
map(augmenter2.augment).
map(augmenter3.augment)
和Flow:
Flow(eventConsumer).append(defaultEventAugmenterPipeline).onComplete(materializer) { ... }
和一个Augmenter看起来像这样:
class Augmenter1 extends Augmenter[Event] {
def augment(e: Event): Event = {
if(someCondition)
e.addAugmentation(...)
else
throw new Exception("someCondition not met!")
e
}
}
现在,如果满足导致Augmenter1中的异常的条件,则流只会在异常的第一个实例处终止(成功),而不会抛出任何异常。 我希望能做两件事:抓住链条上的异常,然后跳到下一个活动。
我的问题:在流程中处理错误/异常的正确方法是什么?
由于