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 արտակարգ իրավիճակների օգտագործումը: Բոլոր արտակարգ իրավիճակները unchecked են:
Արտակարգ իրավիճակներ նետելու համար օգտագործվում է throw բանալի բառը:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Տարիքը չի կարող լինել բացասական")
}
// ...
}
Նույնպես, կարող եք օգտագործել ստանդարտ գրադարանի արտակարգ իրավիճակների դասերը կամ ստեղծել սեփականները, ժառանգելով Exception կամ RuntimeException-ից։