Zaawansowane CPP/Ćwiczenia 13: Wyjątki: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mirek (dyskusja | edycje)
Nie podano opisu zmian
Nie podano opisu zmian
Linia 12: Linia 12:


<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">
<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/5/5b/Terminate.cpp terminate.cpp].
Zobacz plik [[media:Terminate.cpp | terminate.cpp]].
</div></div>
</div></div>


Linia 22: Linia 22:


<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">
<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 pliki [http://osilek.mimuw.edu.pl/images/a/a1/Tablica.h tablica.h] i [http://osilek.mimuw.edu.pl/images/f/f6/Test_tablicy.cpp test_tablicy.cpp].
Zobacz pliki [[media:Tablica.h | tablica.h]] i [[media:Test_tablicy.cpp | test_tablicy.cpp]].


Ulepszona wersja (brak duplikowanego kodu) znajduje się w pliku [http://osilek.mimuw.edu.pl/images/d/db/Tablica_policy.h tablica_policy.h].
Ulepszona wersja (brak duplikowanego kodu) znajduje się w pliku [[media:Tablica_policy.h | tablica_policy.h]].
</div></div>
</div></div>


Linia 34: Linia 34:


<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">
<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/d/db/Tablica_policy.h tablica_policy.h].
Zobacz plik [[media:Tablica_policy.h | tablica_policy.h]].
</div></div>
</div></div>

Wersja z 10:49, 2 paź 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.

Rozwiązanie

Ć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.

Rozwiązanie

Ćwiczenie 4

Użyj klas wytycznych do zaimplementowania strategii obsługi błędów przekroczenia zakresu.

Rozwiązanie