Megosztás a következőn keresztül:


CUserException osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Egy végfelhasználói művelet leállításához lett bedobva.

Szemantika

class CUserException : public CSimpleException

Megjegyzések

Akkor használható CUserException , ha a dobás/fogás kivételi mechanizmust szeretné használni az alkalmazásspecifikus kivételekhez. Az osztály nevében a "Felhasználó" kifejezés a következőként értelmezhető: "a felhasználóm valami kivételes dolgot tett, amelyet kezelni kell."

Az A-t CUserException általában a globális függvény AfxMessageBox meghívása után küldik el, hogy értesítsék a felhasználót arról, hogy egy művelet meghiúsult. Kivételkezelő írásakor kezelje a kivételt, mivel a felhasználót általában már értesítették a hibáról. A keretrendszer bizonyos esetekben ezt a kivételt okozza. Ha saját magát szeretné dobni CUserException , értesítse a felhasználót, majd hívja meg a globális függvényt AfxThrowUserException.

Az alábbi példában egy függvény, amely olyan műveleteket tartalmaz, amelyek sikertelenek lehetnek, riasztást küld a felhasználónak, és egy CUserException. A hívó függvény elkapja a kivételt, és speciálisan kezeli azt:

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.
}

A használatról CUserExceptiontovábbi információt a Kivételkezelés (MFC) című cikkben talál.

Öröklési hierarchia

CObject

CException

CSimpleException

CUserException

Requirements

fejléc: afxwin.h

Lásd még

hierarchiadiagram
CException osztály