30.06.2013 Aufrufe

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

Softwareentwicklung in C++ - ASC

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

15.7 Weiterführendes zu Exceptions 483<br />

Exceptions zu fangen und aufgrund dessen, was wir gefangen haben, über die<br />

Behandlung zu entscheiden. Im Pr<strong>in</strong>zip geht das <strong>in</strong> C ++ sehr leicht, wie man<br />

<strong>in</strong> der Folge sehen kann (catch_all_demo.cpp):<br />

1 // catch all demo . cpp − demo , how to catch a r b i t r a r y exceptions<br />

2<br />

3 #<strong>in</strong>clude <br />

4 #<strong>in</strong>clude < t y pe<strong>in</strong>fo><br />

5 #<strong>in</strong>clude ” u s e r t y p e s . h”<br />

6<br />

7 us<strong>in</strong>g std : : cout ;<br />

8 us<strong>in</strong>g std : : endl ;<br />

9 us<strong>in</strong>g std : : type <strong>in</strong>fo ;<br />

10 us<strong>in</strong>g std : : bad typeid ;<br />

11 us<strong>in</strong>g std : : bad cast ;<br />

12<br />

13 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

14 class OneException<br />

15 {<br />

16 } ;<br />

17<br />

18 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

19 class AnotherException<br />

20 {<br />

21 } ;<br />

22<br />

23 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−<br />

24 void doSometh<strong>in</strong>g ( )<br />

25 {<br />

26 static u<strong>in</strong>t32 c a l l c o u n t e r = 0;<br />

27 i f ( c a l l c o u n t e r ++ % 2)<br />

28 {<br />

29 cout

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!