Manualandia
a- a+

Gestione degli errori

Err

Err è l’oggetto che contiene tutte leinfomazioni relative ad errori che si verificano quando simanda in esecuzione un’applicazione scritta in VisualBasic. E’ dunque conveniente imparare ad utilizzare Errper poter monitorare ciò che accade all’internodell’applicazione sviluppata. Attraverso il metodoRaise( ) è possibile gestire le informazioni contenutenell’oggetto Err. La sintassi del metodo Raise ( )è:

Err.Raise numero, origine, descrizione, fileGuida, contestoGuida

Gli argomenti che potete assegnare al metodo Raise( )sono le proprietà stesse di Err, che potete trovarenella descrizione dell’oggetto nella guida on line diVisual Basic.

 

On Error

E’ un enunciato che consente di gestire glierrori di esecuzione.

La sintassi è:

On Error GoTo [etichetta | linea_di_codice] 

Quando si verifica un errore, questo enunciato permettedi passare all’esecuzione del codice a partire dallaposizione contrassegnata da un’etichetta o a partire daun numero di linea di codice indicato. Sia l’etichettache il numero di linea devono essere nella stessa procedurache contiene On Error, altrimenti nel compilare il codice, viverrà notificato il messaggio di errore: “OnError Resume Next”, che in pratica vi comunica chel’esecuzione del codice passerà in caso dierrore alla riga successiva a quella in cui si èverificato l’errore stesso.

Se invece scrivete “On ErrorGoTo 0” state comunicando al codice di disabilitarequalsiasi gestione di errore nella procedura.

In generale è preferibileporre gli enunciati di gestiode degli errori alla fine diogni procedura e si consigli di inserire un “ExitSub” oppure “Exit Function” o “ExitProperty”.

 

If-Then-Else

Permette di effettuare delle sceltecondizionate da valori logici o da espressionibooleane.

La sintassi è:

If condizione Then [enunciati] [Else enunciatiElse]

 

La sintassi, nel caso in cui sivogliano introdurre altre condizioni, è invece laseguente, in cui si utilizza ElseIf:

 

If condizione Then[ enunciati][ ElseIf condizione Then[condizioniElseIf]…[ElsecondizioniElse]]End If

 

Chiaramente, indentando il codice,la lettura delle condizioni è più semplice epulita.

Resume

Resume comunicaall’applicazione come recuperare l’esecuzione altermine di una routine per la gestione degli errori.

La sintassi è:

Resume [0]

Rsume fa in modo chel’esecuzione venga rispresa dall’enunciato che hacausato l’errore. L’argomento 0, facoltatico,è stato introdotto solo per compatibilità conGWBasic e Basic.

Resume Next           fa invece in modo che l’esecuzione riprendadall’enunciato immediatamente successivo a quello cheha generato l’errore.

Resume Numero_di_Lineafa invece in modo chel’esecuzione riprenda dal numero di linea di codiceindicata.

 

Select Case

Serve per prendere una decisionecondizionata, scegliendo tra più opzioni. La sintassiè:

 

Select Case Espressione_da_verificare[Case elenco_di_espressioni[enunciati]]…[Case Else[enunciati_CaseElse]]End Select

 

Espressione_da_verificare èun’espressione numerica o stringa.

Elenco_di_espressioni è unelenco di valori, separati da virgole, che vengono indicatidopo la clausola “Case”. Quando uno di questivalori è verificato, viene eseguito un’enunciatoriportato di seguito. Lo stesso vale per Case Else e glienunciati che seguono.

Esempio:

 

…Select Case giornoCase is “lunedì”Debug.Print “il primo giorno della settimana”Case is “martedì”Debug.Print “il secondo giorno della settimana”Case ElseDebug.Print “non è il primo giorno della settimana”End Select