Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » try...

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
20.01.2004, 17:58 Uhr
KaraHead



Hi,
ich wollt ma fragen wie das mit

C++:
try...catch()
try...except()


geht???

bei delphi muss man nix in die Klammern schreiben aber wie ist dass mit c++,
was kommt in die klammern von catch()????

kann jemand ein kleines BSP geben.

Thx im vorraus
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
20.01.2004, 18:03 Uhr
typecast
aka loddab
(Operator)


1.) Delphi und C++ sind zwei sehr verschiedene Sprachen. Vergiss die Vergleiche am besten mal.
2.) Zwischen den Klammern kannst du eine Exception deiner Wahl reinschreiben, z.B.

C++:
try
{
  // blabla
}
catch(std::domain_error e)
{
  // tu was für den Fall das ein Domain error auftritt
}


--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.01.2004, 22:08 Uhr
KaraHead



JA aber dann wird das catch doch nur ausgeführt wenn ein domain Fehler kommt, nich oder?
Und was wenn ein anderer Fehler kommt ???

Bin noch nich ganz dahinter gestiegen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.01.2004, 22:11 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


dann hängst du noch ein catch dran


C++:
try
{
  // blabla
}
catch(std::domain_error e)
{
  // tu was für den Fall das ein Domain error auftritt
}
catch(was_auch_immer x){

}
.
.
.


--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 20.01.2004 um 22:12 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
20.01.2004, 22:16 Uhr
KaraHead



Achso, dann muss man für jeden Fehler der passieren könnte ein catch() basteln?
Und ist das mit dem except genau so?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
20.01.2004, 22:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Achso, dann muss man für jeden Fehler der passieren könnte ein catch() basteln?



nö brauchst du nicht... du kannst auch mehrer zu einem fehler zusammenfassen, z.b. so
googlen hilft manchmal...

C++:
enum Error {OutOfMemory, ...};
    enum Warning {NoBackup, ...};
    try
    {
        ...
        throw(OutOfMemory);    // weiter mit catch(Error e)...
        ...
        throw(NoBackup);    // weiter mit catch(Warning w)...
        ...
        throw(1);        // keine catch-Klausel, Programmabbruch
    }
    catch(Error e)
    {
        ...
    }
    catch(Warning w)
    {
        ...
    }




Zitat:

Und ist das mit dem except genau so?


was soll damit sein das gibt es in c++ nicht soweit ich weiss
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
20.01.2004, 22:31 Uhr
KaraHead



ok, hab's verstanden danke für die schnelle hilfe

Mal gucken ob ich das nächste mal schlau genug bin zum googeln
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
20.01.2004, 23:34 Uhr
(un)wissender
Niveauwart


mit catch(...) fängst du jede Art von Fehlern.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: