Written by xinyiman Gennaio 11, 2012, 03:44:00 pm21188 ViewsRating: (1 Rates)Print
In qualsiasi linguaggio di programmazione che si rispetti si necessita di poter gestire gli errori e Lazarus/Free Pascal non fanno eccezzione. Per realizzare tale necessità ci viene incontro la seguente sintassi
//nostro codice da eseguire su cui vogliamo effettuare una gestione degli errori ...
finally //codice da effettuare a fine procedura sia che va bene il codice sopra sia che il codice ha sollevato un'eccezzione end; except on E: Exception do begin
//codice da eseguire solo se si verifica un eccezzione
end; end;
Vediamo ora un esempio, immaginiamo una form con due EditBox in cui imputare due valori numerici e un pulsante che effettua una divisione tra i due valori inputati nelle EditBox, il codice per gestire al meglio tale esempio è:
var app: string; begin try try app:=FloatToStr(StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text)); finally //Sono a fine procedura ShowMessage(app); end; except on E: Exception do begin ShowMessage('Errore: ' + E.message); Application.Terminate; end; end; end;
Ora per capire bene cosa fa questo codice basta compilare (l'esempio allegato) ed eseguire il programma compilato (non in versione debug di lazarus). Provate a cliccare sul pulsante senza inputare i valori e vedrete cosa succede, poi provate a dividere un numero tipo 18,7 per 0 e vedete il risultato. Poi provate a dividere ad esempio 20 con 3 e vedrete un altro risultato. Esempio completo: http://www.lazaruspascal.it/esempi/Errori.zip
About the author
xinyiman registered at Italian community of Lazarus and Free Pascal on Ottobre 14, 2011, 10:56:28 pm and has posted 3273 posts in the boards since then. Last visit was Novembre 20, 2024, 08:31:19 am.
Questo blog non rappresenta una testata giornalistica poiché viene
aggiornato senza alcuna periodicità. Non può pertanto considerarsi un
prodotto editoriale ai sensi della legge n. 62/2001.
Questo sito utilizza cookie, anche di terze parti, per offriti servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie.