Junior
Androidдеги каталардын иерархиясын билесиңби?
sobes.tech AI
AIден жооп
Ооба:
Androidда, ошондой эле Javaда, каталардын хиерархиясы Throwable классына негизделген. Анын мурас алгандар Error жана Exception:
Error: Көбүнчө программаны калыбына келтире албай турган олуттуу көйгөйлөрдү көрсөтөт (мисалы, JVM көйгөйлөрү).Exception: Исключительные кырдаалдарды көрсөтөт, алар программалар тарабынан иштетилиши мүмкүн. Алар бөлүнөт:- Checked Exceptions: Компилятор талап кылган каталар (мисалы,
IOException). Түздөн-түзExceptionден мурас алат. - Unchecked Exceptions: Иштөө учурунда пайда болгон каталар, компилятор талап кылбайт, аны ачык иштетүү керек (мисалы,
NullPointerException,ArrayIndexOutOfBoundsException).RuntimeExceptionтен мурас алат, алExceptionтен мурас алат.
- Checked Exceptions: Компилятор талап кылган каталар (мисалы,
Негизги класстар хиерархиясында:
java.lang.Throwablejava.lang.Errorjava.lang.OutOfMemoryErrorjava.lang.StackOverflowError- ...
java.lang.Exception- Checked Exceptions (түздөн-түз
Exceptionтен)java.io.IOExceptionjava.lang.ClassNotFoundException- ...
java.lang.RuntimeExceptionjava.lang.NullPointerExceptionjava.lang.ArrayIndexOutOfBoundsExceptionjava.lang.IllegalArgumentException- ...
- Checked Exceptions (түздөн-түз
Исключение иштетүүнүн мисалы:
// Kotlin
fun readFile(path: String) {
try {
// файлды окууга аракет кылуу
val fileContent = java.io.File(path).readText()
println(fileContent)
} catch (e: java.io.IOException) {
// киргизүү/чыгуу каталарын иштетүү
println("Файлды окуудагы катасы: ${e.message}")
e.printStackTrace() // стек трассасын чыгарыңыз
} catch (e: Exception) {
// башка бардык исключенияларды иштетүү
println("Башка каталар болду: ${e.message}")
} finally {
// бул блок ар дайым ишке ашат, каталарга карабастан
println("Файлды окуу аяктады")
}
}