Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Exception - Spezifikation

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 < [ 2 ] [ 3 ]
000
05.10.2004, 16:40 Uhr
derphilipder



Hi!

In meinem schlauen Buch steht, dass eine Exception-Spezifikation zu einer Funktionsdeklaration dazugehört, z.B.:

int funktion(int) throw(Error);

Ist das bei Methoden etwa nicht möglich?
Mein Compiler frisst es jedenfalls nicht, obwohl ich in der Methode eine Exception auslösen kann.

mfg Philip
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.10.2004, 17:02 Uhr
proga



Derzeit gehört die Exception-Spek nicht zum C++ Standard.
Das hat zur Folge, dass manche Compiler zwar damit zurecht kommen,
die Spek aber einfach ignorieren (z.B. Microsoft Visual C++) oder andere,
die das anscheinend gar nicht unterstützen, sowie deiner z.B.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.10.2004, 17:08 Uhr
derphilipder



Achso...

Meiner ist VC ++.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.10.2004, 17:13 Uhr
(un)wissender
Niveauwart


Exception-Spezifikation gehört natürlich zum Standard!
Sie ist aber recht sinnlos, höchsten thow() ist zu gebrauchen, als Garantie für das Nichtwerfen von Exceptions.
int funktion(int) throw(Error); ist ok, wie lautet die Fehlermeldung?
Gibt es eine Klasse/Struktur namens Error?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.10.2004, 17:17 Uhr
derphilipder



Ja, Error wäre eine Fehlerklasse.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.10.2004, 17:19 Uhr
(un)wissender
Niveauwart


Und die Fehlermeldung?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.10.2004, 17:24 Uhr
derphilipder



Das ist doch nur ein Beispiel.

Soweit ich das verstanden habe, bedeutet das, dass die Funktion eine Exception vom Typ Error auslösen kann.
Wozu brauchst Du da jetzt die Fehlermeldung?
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.10.2004, 17:29 Uhr
typecast
aka loddab
(Operator)


(un)wissender will von dir wissen was fuer einen Compilerfehler du bekommst.
--
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
008
05.10.2004, 17:37 Uhr
derphilipder



Oh...


C++:
class tank
{
private:
    int fassungsvermoegen, fuellstand;
public:
    tank(int fass, int fuell);
    void leeren(int) throw(KfzError);
    int inhalt();
};




C++:
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'KfzError'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'KfzError'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2059: Syntaxfehler : ')'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2501: 'KfzError' : Fehlende Speicherklasse oder Typbezeichner
kfz.cpp
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2146: Syntaxfehler : Fehlendes ')' vor Bezeichner 'KfzError'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'KfzError'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2059: Syntaxfehler : ')'
e:\eigene dateien\studium\software_engineering\praktikum\aufgabe 2\carsim_c\kfz.h(29) : error C2501: 'KfzError' : Fehlende Speicherklasse oder Typbezeichner
Fehler beim Ausführen von cl.exe.

carsim_c.exe - 8 Fehler, 0 Warnung(en)



Ohne das throw is gibt es keine Fehler.
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.10.2004, 17:38 Uhr
derphilipder



Ich Idiot...hab den entsprechenden header gar nicht includiert.

Jetzt gehts!
--
Konfuzius says: "A man who goes to bed with an itchy asshole is a man who wakes up with stinky finger!"
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ]     [ 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: