
CUserException вызывается для остановки операции конечного пользователя. Используйте CUserException , когда вы хотите использовать механизм броска/catch исключений для исключений приложения. «Пользователь» в имя класса может интерпретироваться как «моя пользователей что-то исключительные, что мне нужно обрабатывать.»
CUserException обычно вызывается после вызова глобальной функции AfxMessageBox для уведомления пользователя, что операция не удалась. При написании обработчика исключений, обработать специально, поскольку пользователь обычно уже был уведомлен сбоя. В некоторых случаях платформа создает исключение. Чтобы бросить CUserException себя, предупредить пользователя, а затем вызвать глобальной функции AfxThrowUserException.
В приведенном ниже примере функция, содержащие операции, которые могут не предупреждает пользователя и выдает CUserException. Вызываемая функция перехватывает исключение и обрабатывает специально:
void 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++ программист.
# include lt;afxwin.h>
Члены базового класса |nbsp; Иерархическая схема
См. также CException, AfxMessageBox, AfxThrowUserException