Sobes.tech
Junior

Android-də səhv hiyerarşisini bilirsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Bəli, tanıyıram. Android-də səhv hierarxiyası Java-nın standart istisna hierarxiyasına əsaslanır.

Əsas siniflər:

  • Throwable: bütün istisna və səhvlər üçün əsas sinif.
  • Exception: ümumiyyətlə tutulub və işlənə bilən istisna hadisələri üçün sinif.
  • Error: tətbiqin adətən bərpa edə bilmədiyi ciddi problemlər üçün sinif (məsələn, OutOfMemoryError, StackOverflowError).

Miras:

  • ExceptionError Throwable-dən miras alır.
  • Android-ə xas bir çox istisna (məsələn, ActivityNotFoundException, SecurityException) RuntimeException-dan miras alır, o da Exception-dan miras alır. RuntimeException "unchecked exception"dır, yəni onu açıq şəkildə işlətmək və ya metod imzasında qeyd etmək lazım deyil.

Anlamanın önəmi:

  • Xətaları və istisnaları düzgün idarə etməyə imkan verir, tətbiqin çökməsinin qarşısını alır.
  • Daha etibarlı və xətalara davamlı kod yazmağa kömək edir.
  • Səhvlərin diaqnostikası və səbəblərinin analizində kömək edir.

İşləmə nümunəsi:

try {
    // Xəta törədə biləcək kod
    val data = fetchDataFromNetwork()
} catch (e: Exception) {
    // İstisnanın işlənməsi
    Log.e("MyTag", "Məlumatların alınmasında xəta: ${e.message}", e)
    // Bəlkə istifadəçiyə mesaj göstərmək
} finally {
    // Hər halda icra olunacaq kod
}