Manualandia
a- a+

Funzioni e Procedure

Exit Function

Questo enunciato consente di uscireimmediatamente dalla procedura function corrispondente.L’esecuzione del programma riprende conl’enunciato immediatamente successivo a quello che harichiamato la procedura Function.

La sintassi generale dell’enunciatoè: 

Exit Function

 

L’enunciato prevede du tipi fondamentalidi 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 primocaso: 

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 funzioneZeroDivide:   Y = 1   ResumeEnd Function

 

L’esempio definisce la funzioneDivideInts( ) che restituisce il risultato della divisionedei valori delle variabili X e Y di tipo intero. La funzioneattiva un gestore di errore prima di dividere questiargomenti e quindi lo disattiva dopo aver effettuato ladivisione. La funzione imposta il valore restituito come ilrisultato della divisione e richiama quindi l’enunciatoExit Function per uscire dalla funzione. Gli enunciati cheseguono Exit Funtion sono dei gestori di errore che inizianoimmediatamente dopo l’etichetta ZeroDivide.

Senza l’enunciato Exit Function, quandosi richiama la funzione DivideInts( ) si avrebbe un errore diesecuzione.

Segue ora un esempio del secondocaso: 

Function DivideNums (X As Integer, Y As Integer) As Integer   Dim Z As IntegerDivideNums 0 0   If y = 0 then Exit Function   Z = X / Y   DivideNums = ZEnd Function

 

Questo esempio utilizza la funzioneDivideNums( ) che restituisce il risultato della divisionedei suoi argomenti X e Y di tipo intero. La funzione assegnail valore restituito di default 0 e quindi utilizza unenunciato If per determinare se il valoredell’argomento Y è pari a 0. Quando questacondizione risulta vera, il programma eseguel’enunciato Exit Function per uscire dalla funzione. Incaso contario la funzione divide gli argomenti, ne memorizzail risultato nella variabile Z e quindi utilizza il valore ditale variabile come valore restituito.

Exit Sub

L’enunciato permette di uscireimmediatamente dalla procedura Sub corrispondente.L’esecuzione del programma riprende conl’enunciato che viene immediatamente dopo quello che harichiamato la procedura Sub.

La sintassi generaleè: 

Exit Sub

 

L’Exit Sub si usa in generale in duecasi:

·        L’enunciato Exit Sub compare in unaprocedura Sub prima du un enunciato per la gestione deglierrori contenuto nella procedura stessa. Questo tipo diutilizzo evita che il programma esegua gli enunciati per lagestione degli errori quando non si verifica alcunerrore.

·        Compare in un enunciato Of che esamina unacondizione per determinare se sia o meno necessario uscire dauna procedura Sub.