lezione 04

gestione eccezioni

try/catch, custom exception e cleanup sicuro.

livello: base durata: 18 min output: error handling badge: error handling

try/catch

try {
  int value = Integer.parseInt("7");
} catch (NumberFormatException ex) {
  System.out.println(ex.getMessage());
}

custom exception

class ValidationException extends RuntimeException {
  ValidationException(String msg) { super(msg); }
}

finally

usa finally per cleanup di risorse sensibili.

panoramica

In questo capitolo su gestione eccezioni, try/catch, custom exception e cleanup sicuro. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.

Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).

badge: error handling

obiettivi

  • capire e applicare try/catch in uno scenario reale
  • capire e applicare custom exception in uno scenario reale
  • capire e applicare finally in uno scenario reale
  • riconoscere trade-off tra chiarezza e performance

scheda rapida

import java.util.List;

public class Main {
  public static void main(String[] args) {
    var dati = List.of(1, 2, 3);
    var out = dati.stream().map(x -> x * 2).toList();
    System.out.println(out);
  }
}

Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.

tips

  • organizza package per dominio
  • preferisci immutabilità dove possibile
  • documenta le API pubbliche
  • separa eccezioni di dominio
  • usa try-with-resources
  • non catturare Exception generico

tip: Ogni eccezione dovrebbe dire cosa è successo e cosa fare.

mini progetto

Parser di file con gestione errori.

  • leggi il file
  • gestisci IOException
  • lancia ParseException custom
  • testa casi invalidi

output atteso: uno script o query ripetibile con risultati verificabili.

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