I was previously aware of two reasons that an application might simply disappear, without any notification to the user:
- A stack overflow (you sometimes get a message box about this, but not always)
- Data execution prevention
Raymond Chen adds another item to the list today:
Know of anything else? Add it in comments.
{ 6 } Comments
If you use a C-based DLL that creates its own threads and there is an unhandled exception in one of those threads (including an exception in a calback back to your application),
Unhandled exception in a secondary thread can quite effectively kill the whole process.
Aleksander, you’re right, but in recent versions of Delphi exceptions are handled by default in TThread. So you either have to have an old version of Delphi or bypass TThread. But you’re correct that in either case it will have the effect of immediately killing the app.
Application.terminate
Halt;
I believe an unhandled exception in a DLL? I read something to that effect in the ObjectPascal Language Guide last night.
Post a Comment