Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » exception handling

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.07.2005, 15:50 Uhr
~keine ahnung
Gast


hallo leute ich hab mal wieder ein problem. ich versuchs mal zu beschreiben. in meinem programm gibt es einen menüpunkt hole datensatz. dann gibt es ein dialogfenster und wenn man dort auf einen button start klickt wird mit dem datensatz den man geholt hat eine berechnung ausgeführt. wenn ich jetzt keinen datensatz hole und auf start klicke bekomme ich einen exception fehler. ich möchte das in dem fall eine eine MessageBox aufgeht. wo und wie kann ich das machen? kann man meine frage einfach beantworten oder braucht ihr mehr infos - wenn ja welche?

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
01.07.2005, 21:29 Uhr
Spacelord
Hoffnungsloser Fall


Also vom Prinzip her würde ich Tippen dass du ne Access Violation aufgrund eines nicht initialisierten Zeigers bekommst.
Da das Ganze unmittelbar damit zusammenhängt dass du vorher keinen Datensatz abgeholt hast ist das IMHO eigentlich eher nen Fall für ne Laufzeitüberprüfung.
Die Ausnahmebehandlung ist dafür gedacht unvorhersehbare Zustände abzufangen und sollte im Normalfall nicht zur Programmstrukturierung verwendet werden(es gibt da sicherlich einige Ausnahmen wo man,aus Performancegründen,bewusst Exceptionhandling anstelle von Laufzeitüberprüfungen einsetzt). Wie dem auch sei,ein nicht abgeholter Datensatz ist sicherlich kein unvorhersehbarer,nicht überprüfbarer Zustand.....

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.

Dieser Post wurde am 01.07.2005 um 21:37 Uhr von Spacelord editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.07.2005, 18:22 Uhr
~keine ahnung
Gast


hallo also die fehlermeldung die ich bekomme heißt einfach: unhandled exception at ... und ist in einer afx klasse. letztendlich ist es mir recht egal ob jetzt exection handling oder laufzeitüberprüfung das bessere ist - ich möchte einfach das sich in dem fall das ich keinen datensatz hole sich das programm nicht abschießt sonder der benutzer mittels einer messagebox darauf hingewiesen wird das er keinen geholt hat. wie kann ich sowas machen -egal was aber wie funktioniert es????

mfg patrick
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
03.07.2005, 08:09 Uhr
Tommix



'Morgen.

C++:
try
{
    // hier tritt der Fehler auf
}
catch (CException* pEx)
{
    pEx->ReportError();
    pEx->Delete();
}



Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.07.2005, 12:36 Uhr
~keine ahnung
Gast


danke tommix das wars was ich wissen wollte
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: