Kotlin:
Feilhåndtering
Hvordan:
Kotlin tilbyr try, catch, finally, og throw for å håndtere feil. Slik bruker du dem:
fun main() {
val teller = 10
val nevner = 0
try {
val resultat = teller / nevner
println("Resultat: $resultat")
} catch (e: ArithmeticException) {
println("Kan ikke dele på null, kompis.")
} finally {
println("Dette skjer uansett hva.")
}
}Output:
Kan ikke dele på null, kompis.
Dette skjer uansett hva.Hvis noe går galt i try-blokken, går utførelsen straks til catch. Den fanger den spesifikke feilen som er kastet (ArithmeticException i dette tilfellet). finally-blokken kjøres etterpå—uavhengig av utfallet.
Dypdykk
try-catch-blokken har vært en ting siden de tidlige programmeringsdagene—det er som et sikkerhetsnett. Kotlin tilbyr også throw for manuelt å kaste et unntak inn i ringen, og det er finally for kode som må kjøre—ofte oppryddingsarbeid.
Alternativer inkluderer Result-typen og Kotlins try som et uttrykk.
val resultat: Result<Int> = try {
Result.success(teller / nevner)
} catch (e: ArithmeticException) {
Result.failure(e)
}Denne tilnærmingen returnerer et Result-objekt—du får enten en suksess eller et feilslag uten dramaet med et ubehandlet unntak.
Implementering i Kotlin er ryddig fordi du kan bruke try som et uttrykk, noe som betyr at det returnerer en verdi. Valg som disse gjør feilhåndtering i Kotlin ganske allsidig. Det handler om å velge det riktige verktøyet for jobben, akkurat som du ville gjort i et verksted.
Se også
- Kotlin-dokumentasjon om Unntak: Kotlin Exception Handling
- Kotlin
Result-type dokumentasjon: Kotlin Result - Effective Java, 3. utgave, av Joshua Bloch—gode innsikter om unntak, selv om det er spesifikt for Java.