Salve, sto realizzando un semplice videogioco in java (battaglia navale) e ho alcuni dubbi riguardo la gestione delle eccezioni unchecked.
Devo per forza gestirle o sarebbe uno sbaglio non gestirle?
Salve, sto realizzando un semplice videogioco in java (battaglia navale) e ho alcuni dubbi riguardo la gestione delle eccezioni unchecked.
Devo per forza gestirle o sarebbe uno sbaglio non gestirle?
Le eccezioni unchecked sono lasciate alla "libertà" del programmatore.
Una certa istruzione può sollevare una determinata eccezione. Se tu sei matematicamente certo che quell'eccezione non potrà mai verificarsi, allora è perfettamente inutile preoccuparsi di gestirle. Se, al contrario, non sei sicuro che il codice sia sempre perfettamente eseguibile, allora gestirle non fa male.
Esempio classico: la conversione di una stringa in numero:
codice:int valore = Integer.parseInt( variabileStringa );
Se "variabileStringa" arriva da un campo intero di un DB, non ho motivo di star lì a gestire una NumberFormatException: non potrà mai succedere che in un campo intero di un DB ci finisca qualcosa che non è un intero (sarebbe un buco enorme del DBMS, che dovrebbe essere preso e cestinato).
Al contrario, se quella variabile stringa mi arriva come input dall'utente avrò la situazione contraria: 99 volte su 100 quel dato sarà tutto fuorché un intero (), quindi meglio prevenire e catturare l'eccezione.
Ciao.![]()
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Ok e nel caso quindi volessi gestirla come la dovrei gestire:semplicemente facendo una System.err oppure no?
no, dipende...in genere si cerca di vedere in che situazione ti trovi.
Puoi recuperare? Se si recupera.
Esempio: ti viene chiesto un numero in input, tu scrivi una lettera. Decidi di far riscrivere l'input.
Non puoi recuperare? Puoi tornare ad un punto stabile? Si....significa notifica l'errore e torni al punto di partenza
Situazione irrecuperabile: esci.
non c'è una soluzione ottimale a priori.
RTFM Read That F*** Manual!!!