Субъект все говорит.
Я хочу, чтобы какой-то код выполнялся, если мое приложение завершается, скажем, ^ C.
Использование AppDomain.ProcessExit (http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx):
AppDomain.ProcessExit
System.AppDomain.CurrentDomain.ProcessExit(fun _ -> ...)
См. Код ниже. Для обработки Ctrl-C в консольном приложении используйте событие Console.CancelKeyPress .
// does not work - no exception on Ctrl-C //System.AppDomain.CurrentDomain.UnhandledException.Add( // fun _ -> printfn "app is about to die") System.Console.CancelKeyPress.Add( fun _ -> printfn "app is about to die") printfn "starting..." System.Threading.Thread.Sleep(5000) // press Ctrl-C printfn "ended"