map
scala'daki 'un Exception
arasındaki en temiz yolu nedir? Başarısız bir Geleceğin İstisnasını Eşleştirme
1
ile başarılı
import scala.concurrent._
import scala.concurrent.ExecutionContext.Implicits.global
val f = Future {
if(math.random < 0.5) 1 else throw new Exception("Oh no")
}
, ben o ben farklı Exception
için Exception
değiştirmek istiyorum başarısız ancak eğer tutmak istiyorum.
Ben dönüşümü olmaktadır birlikte gelen en iyi, ancak başarı durumu için gereksiz bir işlevi yapmak için beni gerektirir:
val f2 = f.transform(s => s, cause => new Exception("Something went wrong", cause))
hiçbir mapFailure(PartialFunction[Throwable,Throwable])
yoktur bir nedeni var mı?
dönüşümü doğru yoldur. s => işlevini oluşturmanıza gerek yoktur, sadece "kimlik" –
Şerefe. Ben 'kimlik' işlevini bilmiyordum. Eminim ki bu işe yaramayacak daha fazla zaman olacaktır. – theon