Поделиться через


Класс CUserException

Пунктирная, чтобы остановить операции пользователя.

class CUserException : public CSimpleException

Заметки

Используйте CUserException, когда нужно использовать механизм исключения или catch для приложения исключений. "Пользователь" в имени класса может быть интерпретировано как "мой пользователь произвел что-то исключительное, необходимы дополнительные требуется обработать."

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

AfxMessageBox

AfxThrowUserException

Другие ресурсы

Инструкции: Создайте мои собственные пользовательские классы исключений?