![Page 1: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/1.jpg)
1
Gestione degli errori, delegates,eventi
![Page 2: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/2.jpg)
2
• Eccezione– Situazione anomala che potrebbe avvenire durante l’esecuzione del
programma– try{…}catch(…){…}finally{…}
• try: delimita un blocco di codice in cui intercettare eventuali eccezioni• catch(TipoEccezione):permette di “intercettare” e gestire un particolare tipo di
eccezione• catch senza argomento: pernette di gestire qualsiasi eccezioneavvenga nel
blocco try• finally: blocco di codice eseguito sempre e comunque al termine del try-catch, in
caso di eccezione o meno
Gestione degli errori
![Page 3: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/3.jpg)
3
• Esempio:
![Page 4: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/4.jpg)
4
• Simili ai puntatori a funzione del C/C++, ma – orientati agli oggetti – type safe
• Caratteristiche principali– permettono di passare un metodo come
parametro o di assegnarlo ad una variabile– una volta che ad una variabile di tipo delegate è
stato assegnato un metodo, si comporta esattamente come tale metodo
– più metodi possono essere assegnati allo stesso delegate: quando il delegate è chiamato, sono eseguiti in sequenza
– sono alla base degli eventi
Delegates
![Page 5: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/5.jpg)
5
• Permettono di passare direttamente un “blocco di codice” ad un parametro di tipo delegate– Eliminano la necessità di
dichiarare un metodo separato par poi poterlo passare al delegate
– La keyword delegate sostituisce il nome del metodo (che è appunto “anonimo”) ed è seguita dalla dichiarazione degli eventuali parametri del metodo
Delegates con metodi anonimi
![Page 6: Gestione degli errori, delegates,eventi 1. Eccezione – Situazione anomala che potrebbe avvenire durante lesecuzione del programma – try{…}catch(…){…}finally{…}](https://reader035.vdocuments.pub/reader035/viewer/2022062701/5542eb5b497959361e8c8e85/html5/thumbnails/6.jpg)
6
Eventi• Evento
– Meccanismo con cui una classe può fornire notifiche quando qualcosa di interessante accade
– Esempio: una classe che implementa un pulsante vorrà probabilmente segnalare quando questo viene premuto dall’utente
– In C# gli eventi sono realizzati mediante delegates