Middle — Middle+
Jakie alternatywne metody obsługi błędów można zaimplementować oprócz przechwytywania wyjątków za pomocą bloku try-catch?
sobes.tech AI
Odpowiedź od AI
Oprócz używania try-catch do obsługi wyjątków w Androidzie, można stosować następujące podejścia:
- Sprawdzanie warunków przed wykonaniem operacji — na przykład sprawdzanie danych wejściowych lub stanu sieci, aby uniknąć błędów.
- Używanie wartości zwrotnych z wskaźnikami błędów — na przykład zwracanie null lub specjalnego obiektu wyniku z informacją o błędzie.
- Metody callback z obsługą błędów — w operacjach asynchronicznych można przekazywać callbacki do obsługi sukcesu i błędów.
- Używanie typów Result lub Either (w Kotlinie) — do jawnego przedstawiania wyników sukcesu i błędu.
- Logowanie i monitorowanie — do śledzenia błędów bez przerywania działania aplikacji.
Przykład z użyciem Kotlin Result:
fun parseInt(str: String): Result<Int> {
return try {
Result.success(str.toInt())
} catch (e: NumberFormatException) {
Result.failure(e)
}
}
val result = parseInt("123")
result.onSuccess { println("Przetworzona liczba: $it") }
.onFailure { println("Błąd: ${it.message}") }