← Indietro
AppuntiDivisi per argomento

04 Gestione delle eccezioni

Divisi per argomento di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Ingegneria del SoftwareDivisi per argomento

Informazioni sul documento

Cosa trovi in questo materiale

Divisi per argomento di Ingegneria del Software per il corso di Computer Engineering presso Politecnico di Milano. Materiale proveniente dall’archivio storico Studwiz e classificato per la consultazione online.

Qualità dell’importazione: il testo è stato estratto direttamente dal documento originale.

Contenuti estratti dal documento

Passaggi rappresentativi riconosciuti nelle diverse parti del materiale. Il testo completo resta presente nella pagina per la ricerca, mentre l’anteprima compatta rende più semplice la lettura.

Pagina 1

Gestione delle eccezioni 2 Gestione di errori e situazioni eccezionali  Una procedura (utente o di libreria) deve poter segnalare l’impossibilità di produrre un risultato significativo o la propria terminazione scorretta  Esempi: – apertura di un file (ma il file non esiste) – Calcolo radice quadrata di un numero (ma il numero è negativo) 3 Gestione tradizionale di errori e situazioni eccezionali (1)  terminare il programma –è soluzione comune ma spesso troppo drastica – Es. apertura di un file il cui nome non esiste: probabilmente si può segnalare il problema e continuare l’esecuzione – Es. razzo vettore Ariane 5 nel 96 distrutto per casting da float a int che diede errore a run time  a rigore è una scelta che spetta al chiamante e non al chiamato: – solo chi ha chiamato una certa operazione puo’ decidere se si può continuare (ad esempio correggendo l’errore) oppure interrompere l’esecuzione. – Il chiamato non ha di solito elementi per potere decidere come continuare (cosa deve fare la fopen se il file non esiste?) 4 Gestione tradizionale di errori e situazioni eccezionali (2)  restituire un valore convenzionale che rappresenti l’errore – Es. fopen in C cerca di aprire un file e restituisce un intero – fact(x) potrebbe ritornare un valore negativo per x<0  può non essere fattibile  perché la procedura non ha un valore di ritorno  o perché qualsiasi valore di ritorno è ammissibile  in generale dà poche informazioni riguardo l’errore incontrato – condiziona il chiamante  non posso scrivere espressioni del tipo z = x + fact(y)  devo scrivere: int r = fact(y); if (r>0) z = x + r; else ...  il chiamante può dimenticarsi di verificare il valore ritornato (es. fopen) 5 Gestione tradizionale di errori e situazioni eccezionali (3)  Altre soluzioni meno comuni –…

Anteprima

Prima pagina del documento.

Prima pagina: 04 Gestione delle eccezioni