Afficher : Delphi
C++
Préférences d'affichage
Gestion des exceptions dans la fonction thread
De RAD Studio XE2
Remonter à Définition d'objets thread - Index
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 { faire quelque chose avec les exceptions } end; end;
void __fastcall TMyThread::Execute() { try { while (!Terminated) PerformSomeTask(); } catch(...) { // faire quelque chose avec les exceptions } }