1
val decider: Supervision.Decider = {
case _: ArithmeticException => Supervision.Resume
case _ => Supervision.Stop
}
da hataya neden elemana erişmek için bir yol olup olmadığını merak ediyorum. Tabii ki, bu elementin türü bilinmemektedir, ancak Object
'un bir örneği olarak bile almanın bir yolu var mı?
Bir istisna varsa, öğe yoktur. İstisnalar akış elemanlarından değil, koddan kaynaklanır. Kaynak.single (yeni özel durum()) 'nı bir "hata öğesi" ne olurdu? –
Bu doğrudur, ancak bir "Akım [Int, Int, ...]" varsa, boru hattından akan “Int” ler vardır ve akış içinde istisnaya neden olan öğeye ulaşmam gerekir. – Mihai238
@GiovanniCaporaletti yedekliyorum. "Hatalar" temelde "hatalardan" farklıdır - eğer akışınız bazı özel grafikler için başarısız olursa (örneğin, '42' rakamını sevmezse), sorunlu sahneyi "try-catch" ile kaplayabilir ve orada inceleyebilirsiniz; Hangi aşamada sorun yaratacağını öğrenmek için 'Throwable' yığın izini görebilirsiniz. Diğer taraftan, bir 'Arıza', tüm şeyin uçurulduğu ve genellikle tek bir öğeye bağlı olmadığı (dışsal bağımlılık kazası, bellek yetersizliği, vs.) –