Satyam Agarwal
05/20/2020, 10:37 AMfun NonFatal(t: Throwable): Boolean =
when (t) {
is VirtualMachineError, is ThreadDeath, is InterruptedException, is LinkageError -> false
else -> true
}
raulraja
05/20/2020, 12:01 PMraulraja
05/20/2020, 12:02 PMSatyam Agarwal
05/20/2020, 12:02 PMraulraja
05/20/2020, 12:03 PMraulraja
05/20/2020, 12:04 PMraulraja
05/20/2020, 12:04 PMraulraja
05/20/2020, 12:04 PMSatyam Agarwal
05/20/2020, 4:13 PMfillInStackTrace
:
sealed class DomainError : Throwable() {
object AuthenticationTokenInvalid : DomainError()
object AuthenticationTokenUnavailable : DomainError()
object DatabaseFatalError : DomainError()
object NotFound : DomainError()
}
and then for example :
myIO.handleErrorWith { e ->
when (e) {
is ClientRequestException -> DatabaseFatalError.raiseError()
else -> NotFound.raiseError()
}
}
Satyam Agarwal
05/20/2020, 4:16 PMfillInStackTrace
, so did a little reading. What I understood was, if I can use static exceptions, then it can get away without doing this expensive op. But I am not sure.raulraja
05/20/2020, 6:52 PMraulraja
05/20/2020, 6:52 PMSatyam Agarwal
05/21/2020, 7:30 AM