Junior
Kotlinде кандайча катачылыктарды иштетүү керек?
sobes.tech AI
AIден жооп
Kotlin-да истисно менен иштөө үчүн try, catch жана finally блоктору колдонулат.
fun divide(a: Int, b: Int): Int {
try {
// Мүмкүн коркунучтуу код
return a / b
} catch (e: ArithmeticException) {
// Спецификалык истисноны иштетүү
println("Ката: нөлгө бөлүү!")
return 0
} catch (e: Exception) {
// Жалпы истисноны иштетүү
println("Белгисиз ката пайда болду: ${e.message}")
throw e // Эгер керек болсо, истиснону кайра жиберүү
} finally {
// Ар дайым ишке ашуучу код
println("Ресурстарды тазалоо же башка акыркы аракеттер")
}
}
tryблоку истисно чыгара турган кодду камтыйт.catchблоку истисноны кармоо жана иштетүү үчүн колдонулат. Бир нечеcatchблоктору ар кандай түрдөгү истисно үчүн колдонулушу мүмкүн. Төрлөрү алардын жарыялоо тартибинде кармалат.finallyблоку ар дайым ишке ашуучу кодду камтыйт, истисно чыгарыш же чыгарбашына карабастан. Бул блок көбүнчө ресурстарды бошотуу үчүн колдонулат.
Javaдан айырмаланып, Kotlinде "checked" түрдөгү истисно талап кылынбайт. Бардык истисно Kotlinде "unchecked".
Истисно чыгарыш үчүн throw сөзү колдонулат:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Жашы терс болбойт")
}
// ...
}
Ошондой эле, стандарттык китепкананын класстарын колдонуу же өзүнчө класстарды түзүү мүмкүн, Exception же RuntimeExceptionдан мурас алуу аркылуу.