vorrei far in modo ke *qualunque* eccezione avvenga, questa nn venga visualizzata (col messaggio di eccezione)
si può fare?
vorrei far in modo ke *qualunque* eccezione avvenga, questa nn venga visualizzata (col messaggio di eccezione)
si può fare?
codice:try .. (tuo codice) .. exception on e: exception do end;
Quando si verifica un'eccezione all'interno di un blocco di codice, se questo è "protetto" (incluso in un blocco try...except), viene ricercato il codice di gestione dell'errore risalendo nello stack...fino ad arrivare al gestore predefinito delle eccezioni, codificato nella classe che rappresenta l'applicazione (TApplication), il quale visualizza semplicemente un messaggio di errore e successivamente riprende la normale esecuzione del programma gestendo i messaggi in arrivo nella coda dell'applicazione.
Per impedire la visualizzazione del messaggio, puoi proteggere il codice all'interno del costrutto try...except, lasciando la parte tra except ed end vuota, che di fatto non esegue alcuna operazione significativa se non quella di distruggere automaticamente l'eccezione; tuttavia, ti sconsiglio questa tecnica poichè molti componenti usano le eccezioni per garantire che non venga eseguito il codice che segue un metodo che ha generato un errore; pertanto, se gestisci (assorbi) l'eccezione, devi provvedere a verificare se è possibile continuare l'esecuzione della routine oppure no.
La seconda alternativa che hai è quella di sostituire il gestore predefinito delle eccezioni con un gestore personale. Puoi fare questo posizionando sul form principale (o su un Data Module) il componente TApplicationEvents (pagina "Additional" della Palette dei Componenti) che supporta l'evento OnException, generato ogni volta che si verifica un'eccezione (passata come parametro) non gestita attraverso un blocco try...except.
Ciao!
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...