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
Mirek (dyskusja | edycje)
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/4/45/Dev_null.h dev_null.h].
Zobacz plik [http://osilek.mimuw.edu.pl/images/5/5b/Terminate.cpp terminate.cpp].
</div></div>
</div></div>


Linia 20: Linia 20:
Napisz kod, który takie wyjątki łapie.
Napisz kod, który takie wyjątki łapie.
}}
}}
<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/5/5b/Terminate.cpp terminate.cpp] i [http://osilek.mimuw.edu.pl/images/5/5b/Terminate.cpp terminate.cpp].
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>.
</div></div>
{{cwiczenie|4||  
{{cwiczenie|4||  


Linia 26: Linia 38:
}}
}}


''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 '''  
'''Rozwiązanie 3 '''  


Zobacz plik {mod13/exercises/tablica_policy.h}{tablicapolicy.h}
Zobacz plik {mod13/exercises/tablica_policy.h}{tablicapolicy.h}

Wersja z 21:42, 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.

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 3

Zobacz plik {mod13/exercises/tablica_policy.h}{tablicapolicy.h}