Vorrei distinguere tra le eccezioni derivanti dalla logica aziendale come
- il record del database richiesto non esiste
- tenta di memorizzare dati aziendali non validi (convalida non riuscita)
- il file CSV fornito ha un formato errato
dalle eccezioni di sistema standard come
- timeout della connessione al database
- errore I / O di file
- memoria esaurita
Generico eccezioni di business logic nel mio codice come un modo rapido per abbandonare l'operazione in corso quando qualcosa va storto (invece di restituire false
e altre tecniche).
Quindi implementerei una gestione diversa di questi tipi di eccezioni:
- la mia eccezione di business logic: viene visualizzata come messaggio di errore normale ordinario
- eccezione di sistema standard: log exception to file, all'utente vengono fornite le opzioni Abort / Ignore (/ Retry) etc ...
L'idea migliore che riuscivo a capire era creare antenato comune per le eccezioni aziendali e controllarlo nel gestore. Penso che questo fosse lo scopo originale di ApplicationException che ora è deprecato. Pensi che io possa resuscitarlo per lo scopo o c'è un approccio migliore?