CExcpetion Klasse - so möglich?
-
Hi,
ne kurze Verständinisfrage zu CExceptions:
In meinem Code hab ich an verschiedenen Stellen in unterschiedlichen Threads, Fehlermeldungen installiert, die ich gern in einer Liste geündelt dargestellt haben möchte. Diese Liste ist in einer eigenen Klasse installiert. Diese Klasse kann wenn es möglich ist, von der CException Klasse abgeleitet werden.
void irgendeineklasse(void) { if (!fileInput.Open("\\Too\\Many\\Bad\\Dirs.DAT", CFile::modeRead, &ex)) { //Fehler: file konnte nicht geöffnet werden } } void ListKlasse::AddErrMsg(void) { //fehlermeldung hinzufügen }
Ist das möglich, dass die Fehlermeldung in Klasse A zu Tage kommt und in Klase C (anderer Thread) in eine List eingefügt wird?
Der User soll später in der Lage sein, die Fehlermeldungen gebündelt im Webserver anzuschauen..
Gruß
Lars
-
wisst hier was ich meine? Oder hab ich mich zu umständlich ausgedrückt?
Installiert man von der abgeleiteten Klasse (Cexception) eine globale Variable, so dass diese in allen Klassen zur Verfügung steht?
-
Exception sind was anderes. Die werden in den unterliegenden Schichten des Aufrufes gefangen.
Exceptions werden geworfen und können vom Aufrufer der Funktion gefangen und behandelt werden.Was Du machst ist das prozedurale abarbeiten oder behandeln von Fehlern. Dazu benötigst Du ein Singleton (gobale Variable).
-
Martin Richter schrieb:
Exception sind was anderes. Die werden in den unterliegenden Schichten des Aufrufes gefangen.
Exceptions werden geworfen und können vom Aufrufer der Funktion gefangen und behandelt werden.Was Du machst ist das prozedurale abarbeiten oder behandeln von Fehlern. Dazu benötigst Du ein Singleton (gobale Variable).
Ok, d.h. für so eine Sache gibt es keine MFC-Klasse. Und ich muss mir eine eigene Klasse erzeugen mit einer globalen Variable.
Eine Frage noch zu den Exceptions: wird hier für jede Excpetion eine eigene Klasse von der CException Klasse abgeleitet?
-
Nein! Es gibt keine solche MFC Klasse. Das macht IMHO ja auch keinen Sinn. Solch eine Klasse behandelt ja keine Fehler, sondern protokolliert diese nur.
In einen eigenen Exception Handler kann man natürlich auch eine Protokollierung einbauen, die dann nicht mal ein "Singleton" benötigt, wenn alles über Exceptions geregelt wird...
Es gibt Exception Klassen für bestimmte Bereiche (Ressourcen, Spicher, Datei,...). Du hast doch die MFC Header da sind doch alle definier. Schau Sie Dir doch an.