when a zio is constructed from the effect constructor
a side effecting code goes in, and it is third party code(tpc)
which can throw for a multiple number of reasons
there's no declarative type system level communication
from that third party code, to zio error system
about the ways in which it can fail
the only sure way is to treat them all, as Throwables
which is a sound thing to do, because, well they all actually are throwables.
.
In most well defined libraries, and third party codes
it is documented, about the ways in which the third party code can throw
and this knowledge can be manually ported into the zio error system
by using the error refinement chops in zio
.
when a zio is constructed from the
effect
constructora side effecting code goes in, and it is third party code(tpc)
which can throw for a multiple number of reasons
there's no declarative type system level communication
from that third party code, to zio error system
about the ways in which it can fail
the only sure way is to treat them all, as
Throwable
swhich is a sound thing to do, because, well they all actually are throwables.
. In most well defined libraries, and third party codes
it is documented, about the ways in which the third party code can throw
and this knowledge can be manually ported into the zio error system
by using the error refinement chops in zio
.