La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica 2 Lezione 7 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni.

Presentazioni simili


Presentazione sul tema: "Informatica 2 Lezione 7 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni."— Transcript della presentazione:

1 Informatica 2 Lezione 7 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni gestionali ed economiche indirizzo matematica per le applicazioni tecnologiche e dellingegneria Corso di laurea specialistica in matematica e applicazioni indirizzo matematica Universita di Camerino

2 Informatica 2 Lezione 7

3 Informatica 2 Lezione 7 1 Eccezioni Listruzione try/catch La propagazione delleccezioni Intercettare e gestire eccezioni

4 Informatica 2 Lezione 7 1 Eccezioni in breve Uneccezione è un oggetto che descrive una situazione anomala o di errore Leccezioni vengono lanciate da una parte di un programma e possono essere raccolte e gestite da altre parti del programma Un programma può perciò essere suddiviso nel normale flusso desecuzione e in quello eccezionale Anche un errore è rappresentato come un oggetto Java, ma solitamente rappresenta una situazione non recuperabile e da non gestire

5 Informatica 2 Lezione 7 1 Gestire leccezioni Ci sono 3 modi per gestire leccezioni: –Ignorarle –Gestirle quando avvengono –Gestirle altrove nel programma La scelta del modo di gestire gli eventi anomali o eccezionali è unimportante caratteristica del disegno del programma

6 Informatica 2 Lezione 7 1 Ignorare leccezioni Se uneccezione è ignorata da un programma, questo terminerà producendo un messaggio opportuno Il messaggio mostra la traccia dello stack delle chiamate dei metodi con lindicazione: –dellerrore –della linea in cui leccezione si è verificata –dellle chiamate di metodi che hanno portato alleccezione Zero.java può causare uneccezioneZero.java java.lang.ArithmeticException: / by zero at Zero.calcolaQuoziente(Zero.java:29) at Zero.main(Zero.java:21) Exception in thread "main" Process Exit...

7 Informatica 2 Lezione 7 1 Listruzione try Si tenta di eseguire il codice e si intercetta uneccezione si poine rimedio try { blocco_1 } catch (tipo_eccezione identificatore) { blocco_2 } Listruzione try identifica un blocco distruzioni in cui può verificarsi uneccezione

8 Informatica 2 Lezione 7 La clausola catch Un blocco try è seguito da una o più clausole catch, che specificano quali eccezioni vengono gestite –Ogni clausola catch corrisponde a un tipo di eccezione sollevata Quando si verifica uneccezione, la computazione continua con la prima clausola che corrisponde alleccezione sollevata

9 Informatica 2 Lezione 7 1 La clausola finally Unistruzione try può avere una clausola finally opzionale Se non viene sollevata nessuna eccezione, le istruzioni nella clausola finally vengono eseguite dopo che si è concluso il blocco try Se si verifica uneccezione, le istruzioni nella clausola finally vengono eseguite dopo le istruzioni della clausola catch appropriata

10 Informatica 2 Lezione 7 1 Propagazione delleccezioni Se leccezione non viene intercettata e gestita dove si verifica, può ancora essere trattata a un livello più esterno Leccezioni si propagano attraverso la gerarchia delle chiamate di metodi finché non vengono intercettate e gestite –Perchè si possa gestire leccezione occorre che il metodo in cui si può verificare sia contenuto in un blocco try che possieda una clausola catch appropriata

11 Informatica 2 Lezione 7 1 Listruzione throw Un programmatore può definire uneccezione estendendo una classe –La classe Exception o una sua sottoclasse nella gerarchia Leccezioni vengono sollevate con listruzione throw Solitamente unistruzione throw è inclusa in unistruzione if che valuta una condizione per verificare se deve essere sollevata leccezione

12 Informatica 2 Lezione 7 La gerarchia di classi delle eccezioni Object Throwable Error Exception LinkageError Virtual MachineError AWTError RuntimeException ClassNotFoundException NullPointerException IndexOutOfBoundException ArthemticException NoSuchMethodException Eccezioni non controllate

13 Informatica 2 Lezione 7 1 Eccezioni controllate Uneccezione può essere controllata o non controllata Uneccezione controllata può essere sollevata solo in un blocco try o in un metodo che dichiara di poter lanciare uneccezione di quel tipo con la clausola throw Il compilatore segnala se uneccezione controllata non viene gestita propriamente Uneccezione non controllata non richiede una gestione esplicita con la clausola throw

14 Informatica 2 Lezione 7 Eccezioni non controllate Leccezioni non controllate in Java sono quelle che si verificano a run time Tutte le altre sono controllate


Scaricare ppt "Informatica 2 Lezione 7 Corso di laurea in matematica Informatica 2 Dott. Ing. Leonardo Vito Corso di laurea matematica indirizzo matematica per le applicazioni."

Presentazioni simili


Annunci Google