Zitat:
Nein, eine
Exception kommt nicht.
Nur im Programm oder auch im Debugger?
Wie gesagt, im Programm selber werden unbehandelte Exceptions im Thread von Delphi abgefangen (und dann böswillig nicht ausgegeben).
Zitat von
Kurzfassung:
Delphi-Quellcode:
function ThreadProc(const Thread: TThread): Integer;
begin
try
try
Thread.Execute;
except
Thread.FatalException := AcquireExceptionObject;
end;
finally
Thread.DoTerminate; // die einzige Stelle, wo man an FatalException ran kommt
if Thread.FreeOnTerminate then
Thread.Destroy;
end;
end;
[EDIT]
Wann haben die das umgebaut? bin mir fast sicher FatalException wurde früher vor Destroy freigegeben.
Somit ist es jetzt aber auch im Destroy noch verfügbar.
[/EDIT]
Denn Exceptions in irgendeinem Thread (auch dem MainThread), welche bis zum System durchrauschen, da beendet dann Windows gleich den kompletten Prozess, drum fängt TThread sowas ab.