Qual é a maneira correta de sair programaticamente de um aplicativo MF

Usando o Windows MFC C ++. Eu tenho um aplicativo de terceiros que chama um método definido pelo usuário na minha classe derivada do CWinApp. Este método é chamado após InitInstance (). Se houver um erro nesse método, de forma que uma exceção seja lançada e capturada em um bloco try / catch, eu gostaria de sair do aplicativo do bloco catch. Qual é a maneira correta e canônica de sair?

ATUALIZAR

Emerge eu acredito que é certo que em InitInstance () retornar false é a maneira correta de sair do aplicativo. No entanto, agora suponha que eu queira sair do manipulador OnInitDialog () de uma classe derivada de CDialog, qual é a maneira correta de fazer iss

UPDATE 2

Para mim, achei que chamar o PostMessage (WM_CLOSE) é a melhor maneira da minha classe derivada CDialog não modal. Todos os outros métodos de desistência que eu tentei gerariam uma exceção ou outra em algumas circunstância

Aqui está um exemplo de como eu o uso:

BOOL SomeDialog::OnInitDialog()
{
    CDialog::OnInitDialog();

    ::OleInitialize(nullptr);

    try
    {
        // ...load settings file here
    }
    catch(...)
    {
        PostMessage(WM_CLOSE);
        return TRUE;
    }

    // return TRUE  unless you set the focus to a control
    return TRUE;
}

questionAnswers(3)

yourAnswerToTheQuestion