根据akka streams docs,可以通过定义将 Throwable
映射到 Strategy
的决策程序来处理流故障:
val decider: Supervision.Decider = {
case _: ArithmeticException => Supervision.Resume
case _ => Supervision.Stop
}
我想知道是否有办法访问导致错误的元素 . 当然,这个元素的类型是未知的,但有没有办法让它甚至作为 Object
的实例?
1 回答
琐碎的方法是捕获它附近的
ArithmeticException
并抛出自定义异常MyDetailedArithmeticException(culprit: Int)
,它将打印导致消息中出现问题的int
.