Как мне написать обработчик выхода для приложения F #? - PullRequest
8 голосов
/ 30 июля 2010

Субъект все говорит.

Я хочу, чтобы какой-то код выполнялся, если мое приложение завершается, скажем, ^ C.

Ответы [ 2 ]

4 голосов
/ 30 июля 2010

Использование AppDomain.ProcessExit (http://msdn.microsoft.com/en-us/library/system.appdomain.processexit.aspx):

System.AppDomain.CurrentDomain.ProcessExit(fun _ -> ...)
1 голос
/ 30 июля 2010

См. Код ниже. Для обработки 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"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...