Newsgroup: it.comp.appl.access
Titolo: Non mi ricordo mai se l' oggetto ERR e' pubblico o meglio :

se in una routine P chiamata dalla routine A si verifica 
un errore per cui viene  impostato err.number > 0 questo 
err.number >  0 (diciamo  56, cosi' a cazzo) e' visibile 
esattamente dove ? Qual'e' il suo scoop ? 
 
Ogni volta mi scordo e devo fare esperimenti per verificare
come funziona, mannaggia a me e a 'sto cervello fradicio che
m' aritrovo !


Non vorrei sbagliare ma l'oggetto err e' di sistema e viene aggiornato 
ad ogni istruzione che esegui.
Ammettendo una on error resume next,
Dieci istruzioni a seguire che vanno in errore
Test di err dopo le dieci istruzioni.
E' possibile che err contenga il codice della istruzione ultima eseguita?
 
-- 
ac (x=y-1)
Aborro il Killfile
(La violenza e' l'ultimo rifugio degli incapaci -Salvor Hardin-)
 
---
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
http://www.avast.com
 
 


Ciao radica...,
 
Esperimenti!? Mai provato col tasto F1? ;-)
 
The Err object is an intrinsic object with global scope. There is no need to create an instance of it in your code.
 
-- 
Ciao! :)
Maurizio


Ossia se si verifica un errore in un qualsiasi punto del codice
dovrebbe essere  visibile  dappertutto ?  
 
Ossia se per es. la routine A chiama la B e in B si verifica un
errore (e se faccio in modo che, in quel caso, la B ritorni ad A) 
la A vede l' errore l' errore ? 
 
 

 la A vede l' errore l' errore ?
 
Sì, ma ammesso che da qualche parte ci sia una routine di gestione dell'errore. Altrimenti si interrompe miseramente all'istruzione che ha generato l'errore col messaggio:
    Errore di run-time '<numero>':
    <descrizione>
    [ Fine ] [ Debug ]
Ecco perché ogni routine-evento deve avere una routine di gestione dell'errore (se non esiste una gestione centralizzata).
-- 
Ciao! :)
Maurizio


Vedi per esempio cosa propone zia Cin:
    Gestione errori centralizzata 
 
http://answers.microsoft.com/it-it/office/forum/office_2007-access/gestione-errori-centralizzata/1ae9ece5-0c33-4158-b107-fbda6b97c451
 
-- 
Ciao! :)
Maurizio


Si, ci sto riprendendo la mano (son stato fermo un bel po'). Ogni 
routine devo farla con la gestione errori si si adesso le nozioni 
mi si stanno riordinando nella crapa. 
 
Tra l' altro un  vecchio programmatore m' ha detto tempo fa (ed e'
vero, l' ho verificato) che se numeri ogni riga del codice come si
faceva una volta 10,20, ... ecc ecc la variabile pubblica di sistema
denominata Erl ti riporta il numero di riga (eh no ?) dove si verifica
l' errore
 
provare per credere : 
 
sub prova()
On Error GoTo errore
20 x = 3
40 x = 3 / 0
 
errore:
MsgBox (Erl)
End Sub
 
apparira' 40
 
Questa cosa, secondo me, e' utilissima se uno si mette a scrivere
un programma fatto davvero per bene perche' ti consente di migliorare 
la gestione degli errori quando sai quale linea del codice l' ha 
generato. 
 
Pero' lo stack delle chiamate purtroppo te lo devi fare da solo. Ma 
non e' tutta questa difficolta', tutto sommato. 
 
 

Il giorno venerdì 10 aprile 2015 13:34:12 UTC+2, 
radica...@gmail.com
 ha scritto:

Un sistema semplice che io utilizzo:
 
Public Function...
On Error GoTo Err_Handler
 
.....
 
Exit_Handler:
    Exit Function
Err_Handler:
    MsgBox Err.Number & Chr(10) & Err.Description & Chr(10) & "Contattare..."
    Resume Exit_Handler
End Function
 
Oppure al posto del MsgBox puoi fare la Call ad una funzione dedicata agli errori, 
tipo memorizzare l'errore su di un database, mandare,mail, etc.