Kotlin:
Gestione degli errori
Come fare:
Kotlin fornisce try
, catch
, finally
e throw
per gestire gli errori. Ecco come si usano:
fun main() {
val numeratore = 10
val denominatore = 0
try {
val risultato = numeratore / denominatore
println("Risultato: $risultato")
} catch (e: ArithmeticException) {
println("Non si può dividere per zero, amico.")
} finally {
println("Questo accade a prescindere.")
}
}
Output:
Non si può dividere per zero, amico.
Questo accade a prescindere.
Se qualcosa va storto nel blocco try
, l’esecuzione salta al catch
. Cattura l’errore specifico sollevato (in questo caso ArithmeticException
). Il blocco finally
viene eseguito dopo - indipendentemente dall’esito.
Approfondimento
Il blocco try-catch
esiste sin dai primi giorni di programmazione — è come una rete di sicurezza. Kotlin offre anche throw
per lanciare manualmente un’eccezione nel ring e c’è finally
per il codice che deve essere eseguito a tutti i costi — spesso si tratta di operazioni di pulizia.
Le alternative includono il tipo Result
e try
di Kotlin come espressione.
val risultato: Result<Int> = try {
Result.success(numeratore / denominatore)
} catch (e: ArithmeticException) {
Result.failure(e)
}
Questo approccio restituisce un oggetto Result
— ottieni un successo o un fallimento senza il dramma di un’eccezione non gestita.
L’implementazione in Kotlin è elegante perché puoi usare try
come un’espressione, il che significa che restituisce un valore. Scelte come queste rendono la gestione degli errori in Kotlin piuttosto versatile. Si tratta di scegliere lo strumento giusto per il lavoro, proprio come si farebbe in un laboratorio.
Vedi Anche
- Documentazione Kotlin sulle Eccezioni: Gestione delle Eccezioni Kotlin
- Documentazione sul tipo
Result
di Kotlin: Result Kotlin - Effective Java, 3° Edizione, di Joshua Bloch — ottime intuizioni sulle eccezioni, anche se specifico per Java.