Ciao a tutti, ho ripreso "in mano" Java da poche settimane, dopo qualche anno di pausa con la fine dell'università, e vorrei fare una domanda a persone più esperte di me. Premetto che ho cercato già su google ma ho trovato tanti (troppi!) documenti che mi hanno creato più confusione che altro. Ci sono 2 classi: Error e Exception. Quest'ultima ha a sua volta le due sottoclassi RuntimeException e IOException. Queste possono essere viste anche come:
- eccezioni controllate (checked): classe IOException. Possono verificarsi indipendentemente dalle scelte del programmatore, per esempio un errore nella lettura di un file.
- eccezioni non controllate (unchecked): classi RuntimeException e Error. Possono verificarsi indipendentemente dalla scelte del client, e possono invece dipendere dalla realizzazione di codice poco robusto, come ad esempio eccezioni NullPointerException (colpa del programmatore).
Dico bene?? Adesso viene la domanda. Rispetto a questi 2 gruppi di eccezioni, nella scrittura di software è bene gestire con try/catch solo le eccezioni controllate? Ignorando ad esempio ArithmeticException (sottoclasse di RuntimeException), perché teoricamente il codice dovrebbe avere i controlli opportuni?
Grazie