virtual BOOL GetErrorMessage (LPTSTR LpszError, UINT nMaxError, PUINT PnHelpContext = NULL);
Rückgabewert
Ungleich NULL, wenn die Funktion erfolgreich ist; andernfalls steht 0, wenn keine Text Fehlermeldung.
Parameter
lpszError
Ein Zeiger auf einen Puffer, der eine Fehlermeldung angezeigt wird.
nMaxError
Die maximale Anzahl von Zeichen, die der Puffer enthalten kann, einschließlich des NULL -Terminators,.
pnHelpContext
Die Adresse des ein UINT , die die Kontext-ID Hilfe erhalten Wenn NULL, keine ID zurückgegeben werden.
Bemerkungen
Rufen Sie diese Memberfunktion um Text zu einem Fehler bereit, die aufgetreten ist. Rufen Sie z. B. GetErrorMessage abrufen, eine Zeichenfolge, die den Fehler verursacht MFC ein CFileException zu werfen, wenn Sie um ein CFile -Objekt zu schreiben.
Hinweis GetErrorMessage werden nicht mehr als nMaxError-1 Zeichen in den Puffer kopiert wird, und es immer eine nachgestellte &Null, die string.nbsp zu beenden; Wenn der Puffer zu klein ist, kann die Fehlermeldung abgeschnitten werden.
Beispiel
Hier ist ein Beispiel für die Verwendung von CException::GetErrorMessage.
CFile FileInput;
CFileException ex;
/ / versuchen, eine Datei zum Lesen öffnen.
/ / Die Datei wird sicherlich nicht
/ / existiert, denn es zu viele gibt explizite
/ / Verzeichnisse im Namen.
/ / Wenn der Aufruf von Open() fehlschlägt, werden ab
/ / Initialisiert mit Ausnahme
/ / information.nbsp; der Aufruf von ex.GetErrorMessage()
/ / wird eine entsprechende Meldung, die beschreibt abrufen
/ / die Fehler, und wir werden unseren eigenen Text hinzufügen
/ / sicherstellen, dass der Benutzer ist vollkommen sicher, was
/ / schief gelaufen ist.
Wenn (! fileInput.Open ("\\Too\\Many\\Bad\\Dirs.DAT", CFile::modeRead & Ex))
{
TCHAR SzCause [255];
CString strFormatiert;
Ex.GetErrorMessage (SzCause, 255);
/ / (im realen Leben, ist es wahrscheinlich mehr
/ / zu lesen von entsprechenden
/ / eine Zeichenfolgenressource, so wäre es leicht zu
/ / lokalisieren)
strFormatiert = _T ("die Datei konnte nicht geöffnet werden, weil für diesen Fehler:");
strFormatiert += SzCause;
AfxMessageBox(strFormatted);
}
anderes
{
/ / die Datei geöffnet wurde, also tun was auch immer Arbeit
/ / mit FileInput
/ / Wir planten...
// :
fileInput.Close();
}
CException Übersicht |nbsp; Member der Klasse | Hierarchiediagramm
Siehe auch&Nbsp;CException::ReportError