Непрекъснато се натъквам на нещо, което наистина не съм разрешил с програми на Delphi и се чудех дали някой може да ме инструктира за това. Както се казва в темата, как се прави правилното обработване на катастрофални грешки? Например:
// is file necessary for the program present?
if not FileExists(FilePath1) then
begin
raise Exception.Create(FilePath1 + ' does not exist and is required for this program to function.');
// I obviously need to do something here to make the program QUIT and not have
// any more code run.
Application.Terminate;
Abort;
end;
Мога да използвам модула за изключение и там и да изхвърля изключение, но програмата продължава както преди. Използвал съм обаждането за спиране в миналото, но изглежда, че не извършва никакво почистване или други подобни, така че в крайна сметка правя голяма процедура с близки и безплатни обаждания за всичко, което съм направил, само за да съм сигурен (и дори тогава аз не съм сигурен в нищо от задкулисните неща).
И така, какъв е правилният начин за справяне с такива неща?
Редактиране: За да изясня, искам да знам как да накарам програмата да направи каквото почистване трябва да направи и след това да ИЗЛЕЗНЕ СЕГА и да не изпълнява друг код.