Sobes.tech
Junior

Kas tead Androidi vigade hierarhiat?

sobes.tech AI

Vastus AI-lt

Jah, ma tean. Androidi vigade hierarhia põhineb Java standardse erandite hierarhia alusel.

Peamised klassid:

  • Throwable: kõigi erandite ja vigade juurklass.
  • Exception: klass erandlike sündmuste jaoks, mida tavaliselt saab tabada ja töödelda.
  • Error: klass tõsiste probleemide jaoks, millest rakendus tavaliselt taastuda ei saa (näiteks OutOfMemoryError, StackOverflowError).

Pärimine:

  • Exception ja Error pärivad Throwable-lt.
  • Paljud Android-spetsiifilised erandid (näiteks ActivityNotFoundException, SecurityException) pärivad RuntimeException-lt, mis omakorda pärib Exception-lt. RuntimeException on "unchecked exception", see tähendab, et seda ei ole vaja otseselt töödelda või meetodi signatuuris märkida.

Olulisus:

  • Annab võimaluse õigesti töödelda vigu ja erandeid, vältides rakenduse kokkuvarisemist.
  • Aitab kirjutada usaldusväärsemat ja vastupidavamat koodi.
  • Aitab vigade diagnoosimisel ja põhjuste analüüsil.

Töötluse näide:

try {
    // Kood, mis võib põhjustada erandi
    val data = fetchDataFromNetwork()
} catch (e: Exception) {
    // Erandi töötlemine
    Log.e("MyTag", "Andmete saamisel viga: ${e.message}", e)
    // Võib-olla, näidata kasutajale sõnumi
} finally {
    // Kood, mis käivitatakse igal juhul
}