Gestione errori
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

Argomenti correlati
Il sistema di gestione degli errori consente ad una macro di gestire errori di run-time e gestire operazioni o messaggi per l'utente. Un errore di run-time potrebbe essere una divisione per zero non prevista, la mancanza di un foglio o di un file, un valore inserito errato dall'utente, ecc.
Per prima cosa un breve riassunto dei metododi e oggetti per le gestione degli errori per chi ha già dimestichezza con i concetti.
Funzione/oggettoDescrizione
On Error Resume NextIgnora l'errore e prosegue
On Error Goto EtichettaIn caso di errore viene eseguito il codice dopo Etichetta:
On Error Goto 0Riattiva la normale gestione degli errori (finestra debug)
On Error Goto -1Azzera la gestione degli errori
ResumeL'esecuzione riprende dalla stessa posizione che ha generato l'errore
Resume NextL'esecuzione riprende dalla riga successiva a quella che ha generato l'errore
Resume EtichettaL'esecuzione riprende dalla riga dopo Etichetta:
ErrOggetto che contiene il dettaglio delle informazioni quando viene generato un errore
Err.NumberIl numero dell'errore
Err.DescriptionLa descrizione dell'errore

On Error GoTo
Public Sub TestErrori()
  On Error GoTo Err_Proc

  Exit Sub
 
Err_Proc:
 MsgBox Err.Number & ": " & Err.Description, vbOKOnly, vbCritical
 Resume Exit_Proc
End Function

On Error Resume Next
Consente di proseguire l'esecuzione malgrado l'errore con l'istruzione immediatamente successiva a quella che ha generato l'errore; questo consente di inserire la gestione dell'errore direttamente nel codice invece di trasferire il controllo ad altro punto della routine.
E' possibile verificare se l'oggetto è stato assegnato oppure se Err.Number è diverso da 0; nell'esempio qui stotto viene verificato se è stato possibile creare l'oggetto Outlook prima di inviare la mail.
On Error Resume Next
Dim Outlook As Outlook.Application
Set Outlook = New Outlook.Application

If (Outlook Is Nothing) Then
  MsgBox "Non è stato possibile aprire Outllok, la mail non verrà inviata"
  Exit Sub
End If

Oggetto Err
Quando viene generato un errore nell'oggetto Err vengono memorizzate le informazioni del codice e descrizione dell'errore.
Alcuni degli errori di run-time più comuni:
CodiceErrore
6Overflow
9Indice non incluso nell'intervallo
11Divisione per zero
13Tipo non corrispondente
53Impossibile trovare il file
68Periferica non disponibile (drive non esistente)
75Errore di accesso al percorso/file
76Impossibile trovare il percorso
91Variabile oggetto o variabile del blocco With non impostata
424Necessario oggetto
1024Errore definito dall'applicazione o dall'oggetto
 

data4idea srls - PIva 01881000937 - info@data4idea.it