Sobes.tech
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}") }