BD-1st-2.4-lab12.tresc-1.1-Slajd34

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Wyjątki użytkownika (2)

Wyjątki użytkownika (2)


Bieżący slajd prezentuje zastosowanie wyjątków użytkownika. W sekcji deklaracji bloku zadeklarowano: dwa wyjątki: za_male_zarobki i za_duze_zarobki, zmienną v_id_zesp, inicjalizowaną wartością podane przez użytkownika, oraz sparametryzowany kursor cur_prac, przeglądający płace podstawowe pracowników z zespołu o numerze przekazanym przez parametr (zwróćmy uwagę, że kursor przygotowuje zbiór rekordów do modyfikacji – zawiera klauzulę FOR UPDATE). Omówmy część wykonywalną programu. Rekordy kursora cur_prac są przeglądane w pętli FOR. Zauważmy, że wewnątrz pętli FOR mamy zagnieżdżony blok. Instrukcja warunkowa porównuje wartość atrybutu PLACA_POD rekordu kursora z wartością 1500, jeśli wartość placa_pod jest mniejsza od 1500, zostaje wygenerowany wyjątek za_male_zarobki, w przeciwnym wypadku zostaje wygenerowany wyjątek za_duze_zarobki. Sterowanie zostaje przekazane do sekcji obsługi wyjątków bloku zagnieżdżonego w pętli FOR, tam zostaje dopasowana podsekcja do odpowiedniego wyjątku. W przypadku wyjątku za_male_zarobki płaca podstawowa bieżącego pracownika zostaje podwojona, w przypadku wyjątku za_duze_zarobki – zmniejszona o połowę. Po aktualizacji zostaje zrealizowana kolejna iteracja pętli.

Zauważmy, że przykład został tak skonstruowany, że wyjątek nie przerywa wykonania programu, po obsłudze wyjątku program kontynuuje działanie.


<< Poprzedni slajd | Spis treści | Następny slajd >>