У меня есть запечатанный класс, который представляет ответ на модернизацию моего API.
sealed class NetworkResponse<out T : Any, out U : Any> {
data class Success<T : Any>(val body: T) : NetworkResponse<T, Nothing>()
data class ApiError<U : Any>(val body: U, val code: Int) : NetworkResponse<Nothing, U>()
data class NetworkError(val error: IOException) : NetworkResponse<Nothing, Nothing>()
data class UnknownError(val error: Throwable?) : NetworkResponse<Nothing, Nothing>()
}
Итак, теперь я хочу создать функцию, которая обрабатывает все ошибки неудавшегося запроса. Я хочу иметь только один аргумент, который представляет либо ApiError, либо NetworkError, либо UnknownError
fun networkErrorHanlder(mError: <what_should_i_put_here??>) {
// check if error is Api or Network or Unknown and do stuff...
}
Каким должен быть тип аргумента?