Zaawansowane CPP/Ćwiczenia 13: Wyjątki: Różnice pomiędzy wersjami
Nie podano opisu zmian |
Nie podano opisu zmian |
||
Linia 10: | Linia 10: | ||
Wypróbuj napisany kod. | Wypróbuj napisany kod. | ||
}} | }} | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span><div class="mw-collapsible-content" style="display:none"> | |||
Zobacz plik [http://osilek.mimuw.edu.pl/images/4/45/Dev_null.h dev_null.h]. | |||
</div></div> | |||
{{cwiczenie|3|| | {{cwiczenie|3|| | ||
Linia 20: | Linia 25: | ||
strategii obsługi błędów przekroczenia zakresu. | strategii obsługi błędów przekroczenia zakresu. | ||
}} | }} | ||
''Uwaga: przekonwertowane latex2mediawiki; prawdopodobnie trzeba wprowadzi� poprawki'' | |||
{Wyjątki} | |||
'''Rozwiązanie 2 ''' | |||
Zobacz plik {mod13/exercises/terminate.cpp}<tt>terminate.cpp</tt> | |||
'''Rozwiązanie 3 ''' | |||
Zobacz plik {mod13/exercises/tablica.h}<tt>tablica.h</tt> i | |||
{mod13/exercises/test_tablicy.h}<tt>testtablicy.h</tt>. | |||
Ulepszona wersja (brak duplikowanego kodu) znajduje się w pliku | |||
{mod13/exercises/tablica_policy.h}<tt>tablicapolicy.h</tt>. | |||
'''Rozwiązanie 3 ''' | |||
Zobacz plik {mod13/exercises/tablica_policy.h}{tablicapolicy.h} |
Wersja z 21:40, 26 wrz 2006
Ćwiczenie 1
"Zaprzyjaźnij" się z wyjątkami, wykonaj przykłady podane na wykładzie. Prześledź w jaki sposób przebiega "zwijanie stosu".
Ćwiczenie 2
Ustaw własną funkcję terminate
, która stara się zapisać
na pliku czas, w którym została wywołana.
Wypróbuj napisany kod.
Ćwiczenie 3
Dodaj do tablicy z ćwiczenia 3.3 operację rzucania wyjątków w przypadku przekroczenia zakresu. Skorzystaj z wyjątków standardowych. Napisz kod, który takie wyjątki łapie.
Ćwiczenie 4
Użyj klas wytycznych do zaimplementowania strategii obsługi błędów przekroczenia zakresu.
Uwaga: przekonwertowane latex2mediawiki; prawdopodobnie trzeba wprowadzi� poprawki {Wyjątki}
Rozwiązanie 2
Zobacz plik {mod13/exercises/terminate.cpp}terminate.cpp
Rozwiązanie 3
Zobacz plik {mod13/exercises/tablica.h}tablica.h i {mod13/exercises/test_tablicy.h}testtablicy.h.
Ulepszona wersja (brak duplikowanego kodu) znajduje się w pliku {mod13/exercises/tablica_policy.h}tablicapolicy.h.
Rozwiązanie 3
Zobacz plik {mod13/exercises/tablica_policy.h}{tablicapolicy.h}