Manualandia
a- a+

Funzioni e Procedure

Exit Function

Questo enunciato consente di uscire immediatamente dalla procedura function corrispondente. L’esecuzione del programma riprende con l’enunciato immediatamente successivo a quello che ha richiamato la procedura Function.

La sintassi generale dell’enunciato è: 

Exit Function

 

L’enunciato prevede du tipi fondamentali di utilizzo:

  • Presenza in una procedura Function prima di un eneuncato per la gestione degli errori della procedura stessa. Questo tipo di utilizzo evita che il programma esegua enunciati di gestione degli errori quando non se ne verifica alcuno.

  • Inserimento all’interno di un enunciato If che esamina le condizioni per determinare se è necessario o meno uscire dalla procedura Function.

 

Segue un esempio del primo caso: 

Function DivideInts (X As Integer, Y As Integer) As Integer

   Dim Z As Integer

   On Error GoTo ZeroDivide     ‘attiva il gestore di errori

   Z = X / Y

   On Error GoTo 0    ‘disattiva il gestore di errore

   DivideInts = Z

‘esce dalla funzione

ZeroDivide:

   Y = 1

   Resume

End Function

 

L’esempio definisce la funzione DivideInts( ) che restituisce il risultato della divisione dei valori delle variabili X e Y di tipo intero. La funzione attiva un gestore di errore prima di dividere questi argomenti e quindi lo disattiva dopo aver effettuato la divisione. La funzione imposta il valore restituito come il risultato della divisione e richiama quindi l’enunciato Exit Function per uscire dalla funzione. Gli enunciati che seguono Exit Funtion sono dei gestori di errore che iniziano immediatamente dopo l’etichetta ZeroDivide.

Senza l’enunciato Exit Function, quando si richiama la funzione DivideInts( ) si avrebbe un errore di esecuzione.

Segue ora un esempio del secondo caso: 

Function DivideNums (X As Integer, Y As Integer) As Integer

   Dim Z As Integer

DivideNums 0 0

   If y = 0 then Exit Function

   Z = X / Y

   DivideNums = Z

End Function

 

Questo esempio utilizza la funzione DivideNums( ) che restituisce il risultato della divisione dei suoi argomenti X e Y di tipo intero. La funzione assegna il valore restituito di default 0 e quindi utilizza un enunciato If per determinare se il valore dell’argomento Y è pari a 0. Quando questa condizione risulta vera, il programma esegue l’enunciato Exit Function per uscire dalla funzione. In caso contario la funzione divide gli argomenti, ne memorizza il risultato nella variabile Z e quindi utilizza il valore di tale variabile come valore restituito.

Exit Sub

L’enunciato permette di uscire immediatamente dalla procedura Sub corrispondente. L’esecuzione del programma riprende con l’enunciato che viene immediatamente dopo quello che ha richiamato la procedura Sub.

La sintassi generale è: 

Exit Sub

 

L’Exit Sub si usa in generale in due casi:

·         L’enunciato Exit Sub compare in una procedura Sub prima du un enunciato per la gestione degli errori contenuto nella procedura stessa. Questo tipo di utilizzo evita che il programma esegua gli enunciati per la gestione degli errori quando non si verifica alcun errore.

·         Compare in un enunciato Of che esamina una condizione per determinare se sia o meno necessario uscire da una procedura Sub.

 



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Sara
Hai dubbi su questo articolo?