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;
そこで例外ユニットを使用して例外をスローすることもできますが、プログラムは以前と同じように続行されます。過去に停止呼び出しを使用したことがありますが、クリーンアップなどを行わないように見えるため、念のために行ったすべてのことに対してクローズ呼び出しとフリー呼び出しを行う大きな手順を作成することになります (それでも私は舞台裏のことはわかりません)。
では、そのようなものを処理する正しい方法は何ですか?
編集:明確にするために、プログラムに必要なクリーンアップを実行させてから、今すぐ終了し、他のコードを実行しないようにする方法について知りたいです。