lezione 06

error handling

result, runCatching e fallback.

livello: intermedio durata: 24 min output: flussi robusti badge: kotlin essentials

result e runCatching

val res = runCatching { "ok" }
println(res.getOrNull())

null safety

val city: String? = null
val safe = city ?: "Catania"
println(safe)

when expression

val level = 2
val label = when (level) {
  1 -> "base"
  2 -> "intermedio"
  else -> "avanzato"
}

funzioni

fun greet(name: String): String {
  return "ciao $name"
}
println(greet("studio"))

esercizi

definisci una data class e mappa una lista.

data class Item(val id: Int, val name: String)
val items = listOf(Item(1, "A"), Item(2, "B"))
val names = items.map { it.name }
println(names)

panoramica

In questo capitolo su error handling lavoriamo su result e runCatching, null safety, when expression, funzioni per creare micro-pattern riutilizzabili.

lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali.

badge: kotlin essentials

obiettivi

  • capire e applicare result e runcatching in uno scenario reale
  • capire e applicare null safety in uno scenario reale
  • capire e applicare when expression in uno scenario reale
  • capire e applicare funzioni in uno scenario reale

scheda rapida

val res = runCatching { "ok" }
println(res.getOrNull())

adatta questo scheletro agli esempi della lezione.

tips

  • usa val quando possibile
  • sfrutta data class
  • gestisci null in modo esplicito
  • coroutines con scope chiari
  • moduli gradle coerenti
  • mantieni result e runcatching leggibile

tip: documenta ogni scelta architetturale.

mini progetto

crea un catalogo con data class e list.

  • definisci data class
  • crea list
  • stampa output

output atteso: catalogo stampato.

checklist

  • ho eseguito gli snippet e controllato l'output
  • ho annotato almeno 2 trade-off
  • ho completato il mini progetto
  • ho salvato un riepilogo personale
start a brief