Класс CUserException
Создается для остановки операции пользователя.
Синтаксис
class CUserException : public CSimpleException
Замечания
Используйте CUserException
, если вы хотите использовать механизм исключения для исключений, относящихся к приложению, используйте механизм исключения для создания и перехвата. "Пользователь" в имени класса можно интерпретировать как "мой пользователь сделал что-то исключительное, что мне нужно обрабатывать".
Обычно CUserException
возникает после вызова глобальной функции AfxMessageBox
, чтобы уведомить пользователя о сбое операции. При написании обработчика исключений обработайте исключение специально, так как пользователь, как правило, уже был уведомлен о сбое. Платформа вызывает это исключение в некоторых случаях. Чтобы вызвать себя, оповещайте CUserException
пользователя, а затем вызовите глобальную функцию AfxThrowUserException
.
В приведенном ниже примере функция, содержащая операции, которые могут привести к сбою оповещений пользователя и создает исключение CUserException
. Вызывающая функция перехватывает исключение и обрабатывает его специально:
void DoSomeOperation()
{
// Processing
// If something goes wrong...
AfxMessageBox(_T("The x operation failed"));
AfxThrowUserException();
}
BOOL TrySomething()
{
try
{
// Could throw a CUserException or other exception.
DoSomeOperation();
}
catch (CUserException* pe)
{
pe->Delete();
return FALSE; // User already notified.
}
catch (CException* pe)
{
// For other exception types, notify user here.
pe->ReportError();
return FALSE;
}
return TRUE; // No exception thrown.
}
Дополнительные сведения об использовании CUserException
см. в статье об обработке исключений (MFC).
Иерархия наследования
CUserException
Требования
Заголовок: afxwin.h