Newsgroup: it.comp.lang.visual-basic
Titolo: On Error su apertura connessione con MSDE

Mi sapete dire perchè con questo codice:
Specifico che gli oggetti DBx sono oggetti ADODB.Connection e che SCx sono
le connection string (corrette di certo).
Set DBTCA = New ADODB.Connection
    StatusBar.Panels(1).Text = "Aggiornamento Contatori TCA/FAS"
    On Error GoTo GestErrTCA 'Apro la gestione dell'errore su questo
stabilimento
        DBTCA.Open SCTCA
        Call Allinea(DBTCA)
        DBTCA.Close
    On Error GoTo 0 'Chiudo l'errore per attivarlo a stabilimenti [QUESTA
LINEA POSSO COMMENTARLA MA NON CAMBIA NULLA]
    StatusBar.Panels(1).Text = ""
    'Aggiorno CSU
    Set DBCSU = New ADODB.Connection
    StatusBar.Panels(1).Text = "Aggiornamento Contatori CSU"
    On Error GoTo GestErrCSU 'Apro la gestione dell'errore su questo
stabilimento
        DBCSU.Open SCCSU '***
        Call Allinea(DBCSU)
        DBCSU.Close
FaiCSU2:
    On Error GoTo 0 'Chiudo l'errore per attivarlo a stabilimenti [QUESTA
LINEA POSSO COMMENTARLA MA NON CAMBIA NULLA]
quando arrivo alla riga con i tre *** mi da RUNTIME ERRORE invece di
gestiore l'errore?
Sto facendo un programma che nasce con lo scopo di gestire la caduta della
rete e infatti il server delle 2 stringhe di connessione NON esistono
proprio come se la rete fosse caduta... Solo che col primo mi va a gestire
l'errore (non faccio nulla se non loggare il fatto), col secondo cade..
Grazie a tutti
-- 
Alex {per email metti '[NOSPAM]' nell'oggetto}
"Se i partiti non rappresentano più gli elettori, cambiamoli questi
benedetti elettori."
(Corrado Guzzanti)

 gestiore l'errore?
Vai in strumenti -> opzioni -> generale -> Interrompi ad ogni errore non 
gestito.
Eventualmente usa un costrutto del tipo
On Error Goto Etichetta
...
On Error Goto 0 'resetto la gestione dell'errore
...
On Error Goto Etichetta
...
On Error Goto 0 'resetto la gestione dell'errore
...
Ciao
-- 
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net


da msdn
Un gestore degli errori viene "abilitato" quando viene attivato da
un'istruzione On Error ed è "attivo" durante la fase di gestione
dell'errore. Se viene generato un errore mentre un gestore di errori è
attivo, ovvero tra il verificarsi dell'errore e l'esecuzione di
un'istruzione Resume, Exit Sub, Exit Function o Exit Property, il gestore di
errori della routine corrente non potrà gestire l'errore e il controllo
tornerà alla routine chiamante. Se in tale routine è disponibile un gestore
di errori abilitato, tale gestore verrà attivato per la gestione
dell'errore. Se anche il gestore di errori della routine chiamante è attivo,
il controllo tornerà alle routine chiamanti precedenti, fino a individuare
un gestore di errori abilitato ma non attivo. Se non viene individuato alcun
gestore di errori abilitato e non attivo, l'errore risulterà irreversibile
nel punto in cui è stato generato. Ogni volta che il gestore di errori passa
nuovamente il controllo alla routine chiamante, tale routine diventa la
routine corrente. Dopo la gestione di un errore in una qualsiasi routine,
l'esecuzione riprende nella routine corrente nel punto indicato
dall'istruzione Resume.
In sostanza, finche non dai un resume o exit sub (oppure anche se qui non lo
dice e in effetti non ne sono sicuro probabilmente anche err.clear) il primo
errore generato rimane in sospeso e l'errore successivo non viene più
gestito ma restituito al mittente.
Ciao
-- 
Per diventare grandi non bisogna avere paura di essere piccoli
Per rispondere in privato elimina dall'indirizzo "togliquesto"
MasterDavidex - David Ruscelli

 >
Un'altra cosa, on error goto 0 secondo msdn disattiva la gestione degli
errori
<cit>
On Error GoTo 0 disattiva la gestione degli errori nella routine corrente
<\cit>


 On Error Goto 0 'resetto la gestione dell'errore
Ehm.... guarda bene il mio primo messaggio:
On Error GoTo GestErrTCA
**************************
        DBTCA.Open SCTCA
        Call Allinea(DBTCA)
        DBTCA.Close
    On Error GoTo 0                            **************************
-- 
Alex {per email metti '[NOSPAM]' nell'oggetto}
"Se i partiti non rappresentano piů gli elettori, cambiamoli questi
benedetti elettori." (Corrado Guzzanti)

 successivo non viene più gestito ma restituito al mittente.
Mumble mumble...


 Mumble mumble...
Ma va... nulla...
se faccio:
On error goto pippo
    ...
on error goto 0 OPPURE on error resume next OPPURE nella gestione
dell'errore metto err.clear NIENTE, in ogni caso il II errore ne lo da.
Mo mi sono rotto e divido i 4 passaggi in 4 procedure differenti...


 da.
Domanda stupida: hai messo Option Explicit all'inizio del modulo? Esegui con
F5 o con CTRL+F5?
Alberto


Mi sembra saggio...


 Esegui con F5 o con CTRL+F5?
Ogni tanto con uno, ogni tanto con l'altro... :-)
-- 
Alex {per email metti '[NOSPAM]' nell'oggetto}
"Se i partiti non rappresentano piů gli elettori, cambiamoli questi
benedetti elettori." (Corrado Guzzanti)

 Mi sembra saggio...
Sě in effetti anche per altre cose mi torna piů utile...
-- 
Alex {per email metti '[NOSPAM]' nell'oggetto}
"Se i partiti non rappresentano piů gli elettori, cambiamoli questi
benedetti elettori." (Corrado Guzzanti)