Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
CUserException
Requirements
fejléc: afxwin.h