Класс 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).

Иерархия наследования

CObject

Cexception

CSimpleException

CUserException

Требования

Заголовок: afxwin.h

См. также

Диаграмма иерархии
Класс CException