Autore Topic: Unica routine gestione errori per intero progetto  (Letto 620 volte)

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Unica routine gestione errori per intero progetto
« il: 03 Dicembre 2012, 11:43:02 »

Salve a tutta la comunità.

Vi chiedo un aiuto sulla gestione degli errori di programmazione. Avrei la necessità, sempre che sia possibile, di avere un unico punto del progetto per la gestione degli errori, dove  innescare una procedura di sicurezza per la chiusura del programma. Dalla guida di Gambas sembra sia possibile solo a livello di sub o funzione. Però nel caso vi siano parecchie subrutine, sarebbe necessario ripetere per tutte lo stesso codice (o comunque il settaggio di un segnale) per innescare la procedura di chiusura. Ho allegato un piccolo esempio con una form contenente 3 pulsanti che generano una divisione per zero ed un pulsante che apre una form modale contenente sempre un pulsante con lo stesso errore. E' possibile avere una sub che venga richiamata dall'errore scatenato da uno qualsiasi dei pulsanti senza metter mano ad ogni singolo evento click?

Grazie anticipatamente

Giovanni

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Unica routine gestione errori per intero progetto
« Risposta #1 il: 03 Dicembre 2012, 12:42:15 »
In gambas non è possibile gestire gli errori tramite, ad esempio, una classe, o più classi.

Hai però la possibilità di crearne una tu, usando qualche trucco.

In PgDesigner3 (sorgenti su sf.net), ho creato appunto una logica ad ho, sia per gli errori che per i log.

L'unica cosa che non è possibile eliminare, almeno dal punto di vista del controllo di un'applicazione, sono le istruzioni CATCH nelle funzioni e/o metodi del tuo programma. In questi blocchi è possibile richiamare un metodo della classe errori che ho creato (che ti dico subito che è necessariamente statica), che trappola l'errore e se lo salva nelle sue proprietà. Con i suoi metodi può controllare l'errore e effettuare le relative operazioni (ad esempio un halt del programma).
Tramite le classi della logica implementata per i log, puoi tracciare gli errori su file, utili anche per il debugging...


Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re: Unica routine gestione errori per intero progetto
« Risposta #2 il: 03 Dicembre 2012, 16:46:32 »

Ho cercato su sourceforge.net il pgDesigner3 ma l'unico che riesco a trovare è pgDesigner-help-1.2.21 che non sembra quello da te indicato. Ha forse un altro nome?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Unica routine gestione errori per intero progetto
« Risposta #3 il: 04 Dicembre 2012, 10:20:52 »
E' in sviluppo, per cui non è in distribuzione come pacchetto.

Devi cercare nel repository svn, e fare un checkout da lì....

Cavolo, ora non ricordo il link... non sono a casa...  :-\

Offline g.grandi

  • Gambero
  • **
  • Post: 51
    • Mostra profilo
Re: Unica routine gestione errori per intero progetto
« Risposta #4 il: 04 Dicembre 2012, 21:45:26 »
Ho trovato i sorgenti che mi hai indicato. Ora vedo di capire come funziona il trucco con le mie scarse conoscenze di gambas.
Grazie per le indicazioni.
Giovanni