Junior
Wie behandelt man Ausnahmen in Kotlin?
sobes.tech KI
Antwort von AI
In Kotlin werden die Blöcke try, catch und finally zur Behandlung von Ausnahmen verwendet.
fun divide(a: Int, b: Int): Int {
try {
// Potenziell gefährlicher Code
return a / b
} catch (e: ArithmeticException) {
// Behandlung spezifischer Ausnahmen
println("Fehler: Division durch Null!")
return 0
} catch (e: Exception) {
// Behandlung allgemeiner Ausnahmen
println("Unbekannter Fehler aufgetreten: ${e.message}")
throw e // Bei Bedarf Ausnahme erneut werfen
} finally {
// Code, der in jedem Fall ausgeführt wird (unabhängig von der Ausnahme)
println("Ressourcenbereinigung oder andere abschließende Aktionen")
}
}
- Der
try-Block enthält Code, der eine Ausnahme auslösen kann. - Der
catch-Block wird verwendet, um Ausnahmen abzufangen und zu behandeln. Mehrerecatch-Blöcke können für verschiedene Ausnahmetypen verwendet werden. Die Ausnahmetypen werden in der Reihenfolge ihrer Deklaration abgefangen. - Der
finally-Block enthält Code, der immer ausgeführt wird, unabhängig davon, ob eine Ausnahme ausgelöst wurde oder nicht. Dieser Block wird häufig zur Freigabe von Ressourcen verwendet.
Im Gegensatz zu Java hat Kotlin keine verpflichtenden "checked"-Ausnahmen. Alle Ausnahmen in Kotlin sind "unchecked".
Um Ausnahmen zu werfen, wird das Schlüsselwort throw verwendet:
fun validateAge(age: Int) {
if (age < 0) {
throw IllegalArgumentException("Alter darf nicht negativ sein")
}
// ...
}
Es ist auch möglich, Standard-Ausnahmeklassen aus der Bibliothek zu verwenden oder eigene zu erstellen, indem man von Exception oder RuntimeException erbt.