I file Eccezioni.cpp e Eccezioni.h raccolgono tutti i messaggi di errore che il programma deve restituire, questi messaggi vengono poi richiamati da un nome che li identifica all'interno del programma.
Accanto a questo, nei punti del programma che richiedono che l'esecuzione termini, ho pensato di utilizzare la funzione exit(n) con n che è un codice che si può usare per identificare il tipo di errore (es. 1: errore file, 2: errore lettura ecc). Penso sia importante perchè è ciò che vede l'utente quando qualcosa va storto, ma magari c'è qualche altro modo per farlo meglio.
Il template che ho usato per gestire le eccezioni è
try{ //funzione con all'interno almeno un throw(identificativo errore) } catch (identificativo errore &e){ cout << e.what() << endl; //operazioni aggiuntive a seconda dell'eccezione da gestire }
Nel try si può chiamare più di una funzione e ciascuna di queste può avere più di un throw, che può quindi essere gestito da diversi catch, uno per ogni errore. Le operazioni aggiuntive possono riguardare ad esempio la creazione di un file nel caso in cui non esista (prima esecuzione del programma) o avvisi particolari più descrittivi del problema che potrebbero aiutare l'utente.
I file Eccezioni.cpp e Eccezioni.h raccolgono tutti i messaggi di errore che il programma deve restituire, questi messaggi vengono poi richiamati da un nome che li identifica all'interno del programma. Accanto a questo, nei punti del programma che richiedono che l'esecuzione termini, ho pensato di utilizzare la funzione exit(n) con n che è un codice che si può usare per identificare il tipo di errore (es. 1: errore file, 2: errore lettura ecc). Penso sia importante perchè è ciò che vede l'utente quando qualcosa va storto, ma magari c'è qualche altro modo per farlo meglio. Il template che ho usato per gestire le eccezioni è
try{ //funzione con all'interno almeno un throw(identificativo errore) } catch (identificativo errore &e){ cout << e.what() << endl; //operazioni aggiuntive a seconda dell'eccezione da gestire }
Nel try si può chiamare più di una funzione e ciascuna di queste può avere più di un throw, che può quindi essere gestito da diversi catch, uno per ogni errore. Le operazioni aggiuntive possono riguardare ad esempio la creazione di un file nel caso in cui non esista (prima esecuzione del programma) o avvisi particolari più descrittivi del problema che potrebbero aiutare l'utente.