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:
ExceptionjaErrorpärivadThrowable-lt.- Paljud Android-spetsiifilised erandid (näiteks
ActivityNotFoundException,SecurityException) pärivadRuntimeException-lt, mis omakorda päribException-lt.RuntimeExceptionon "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
}