2009-06-24 8 views
1

gefangen Wenn ich eine Ausnahme:Erneutes Auslösen von

throw Cat("Minoo"); 

Dann fange ich und rethrow mit ... irgend unteren Ebene in dem Call-Stack:

catch(...) 
{ 
    throw; 
} 

Dann an einem anderen niedrigeren Niveau in der Anrufliste versuche ich zu fangen mit:

catch(const Cat& c) 
{ 
    //Will it enter here, and if so will c be valid data? 
} 
catch(...) 
{ 
} 
+0

Mit Fragen wie diese. Warum nicht einfach versuchen. Sie würden 30 Sekunden brauchen, um die Antwort zu finden. –

+1

@Martin York: Denn wenn die Antwort auf meine Frage tatsächlich keine gültigen Daten wäre, dann gäbe es keine Möglichkeit, das zu überprüfen. Denn manchmal wäre es gültig und manchmal nicht. –

Antwort

4

Ja, das ist richtig. Dies wird in the very next question des Abschnitts der C++ - FAQ, die ich Ihnen bei Ihrer vorherigen Frage verlinkt.

+0

Danke, Entschuldigung, ich habe es nicht gesehen. –

1

Ich würde sagen, ja, es es fangen und sollte gültig sein. Das ist eigentlich ziemlich einfach zu testen (zumindest wissen Sie, ob es auf Ihrem Compiler funktioniert). Im Zweifelsfall einfach ausprobieren;).

Verwandte Themen