Le eccezioni sono oggetti estremamente potenti per la gestione degli errori in Delphi.

Se sei abituato a fare clic su "End" quando il tuo programma VB si blocca per qualsiasi errore, le apprezzerai pienamente.

Una breve introduzione: quando si verifica un errore inaspettato o una condizione per cui un programma (in generale) non può proseguire, come una divisione per zero o una conversione di tipo impossibile, viene generato un errore. Tale errore, se non opportunamente gestito, provoca la terminazione del programma.

In Delphi, la gestione degli errori viene affidata alle eccezioni, che non sono altro che oggetti particolari i quali vengono creati al verificarsi di una condizione di errore e ne contengono le informazioni relative.

Una applicazione Win32 standard realizzata con Delphi incorpora un gestore di eccezioni che è in grado di visualizzare un messaggio quando si verifica un errore e tale errore non viene gestito. Questo previene l'arresto dell'applicazione e, nella maggior parte dei casi, la sussistenza di una situazione non critica che permetta all'applicazione di non interrompersi e di procedere correttamente.

Il linguaggio Object Pascal mette a disposizione un costrutto in grado di intrappolare le eccezioni per ottenere informazioni su di esse. Il costrutto è try...except.

Ti riporto un esempio di codice:
codice:
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    Valore := StrToInt(Edit1.Text);
  except
    ShowMessage('Impossibile convertire il valore!');
  end;
end;
Il seguente codice (non testato) converte il testo contenuto in una casella memorizzandolo in una variabile intera. Se la conversione non va a buon fine, puoi intercettarla come ti ho indicato e visualizzare un messaggio personalizzato. Quando un'eccezione viene gestita in questo modo, viene anche automaticamente deallocata. In caso contrario, è il gestore predefinito dell'applicazione Delphi a prendere il controllo e a visualizzare un messaggio appropriato; l'operazione di conversione non va a buon fine...ma l'applicazione continua a "girare", consentendoci di correggere l'errore nel valore digitato e riprovare.

Spero di averti dato indicazioni di massima utili per le tue ricerche.

Ciao!