CUserException

Щоб зупинити операцію ліцензійну кинув CUserException . Використання CUserException , коли ви хочете використовувати кидати/зловити виняток механізм для застосування конкретних винятки. "Користувач" в імені класу може бути витлумачено як "Мої користувача зробив щось винятковим, що мені потрібно для обробки".

CUserException зазвичай кинули після виклику функції глобального AfxMessageBox , щоб повідомити користувачеві, що операція не вдалося. Коли ви пишете обробник, обробив виняток, спеціально, оскільки користувач зазвичай має вже були повідомлені про провал. Рамках кидає цей виняток, в деяких випадках. Кинути CUserException себе, система попереджає користувача а потім викликати глобальні функції AfxThrowUserException.

У наведеному нижче прикладі функція, що містять операції, які можуть не попереджає користувача і кидає CUserException. Виклику функції ловить виняток і обробляє це спеціально:

недійсним (DoSomeOperation)
{
 nbsp;  / / Обробки
    / / Якщо щось піде не так...
    AfxMessageBox ("x операцію не вдалося");
    AfxThrowUserException ();
}

BOOL (TrySomething)
{
    СПРОБУЙТЕ
    {
        / / Може кинути на CUserException або інші виняток.
        DoSomeOperation (); 
    }
    УЛОВ ("CUserException", "e")
    {
        Повертає FALSE;    / / Користувача вже повідомлено.
    }
    A&ND_CATCH ("CException", "e")
    {
        / / Для інших типів виняток сповіщати користувача тут.
        AfxMessageBox ("деякі операції не вдалося");
        Повертає FALSE;
    }
    END_CATCH
    повертає TRUE;   / / Не виняток, кинули.
}

Щоб отримати додаткові відомості про використання CUserException, перегляньте статтю - Винятки в Visual C++ програміста керівництво.

# включити lt;afxwin.h>

Базовий клас членів |nbsp; Ієрархічна діаграма

Дивіться також CException, AfxMessageBox, AfxThrowUserException

Index