Gestion des exceptions dans la fonction thread

De RAD Studio
Aller à : navigation, rechercher

Remonter à Ecriture de la fonction Thread


La méthode Execute doit capturer toutes les exceptions qui se produisent dans le thread. Si vous échouez à capturer une exception dans votre fonction thread, votre application risque de provoquer des violations d'accès. Cela ne se voit pas lorsque vous développez car l'EDI capture l'exception, mais lorsque vous exécuterez votre application hors du débogueur, l'exception provoquera une erreur d'exécution et l'application cessera de s'exécuter.

Pour capturer les exceptions se produisant à l'intérieur de votre fonction thread, ajoutez un bloc try...except à l'implémentation de la méthode Execute :

procedure TMyThread.Execute;
begin
  try
    while not Terminated do
  PerformSomeTask;
  except
    { do something with exceptions }
  end;
end;
void __fastcall TMyThread::Execute() {
	try {
		while (!Terminated)
			PerformSomeTask();
	}
	catch (...) {
		// do something with exceptions
	}
}


Voir aussi