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

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Predefiniowane wyjątki (2)

Predefiniowane wyjątki (2)


Powyższy slajd prezentuje przykład użycia predefiniowanych wyjątków. W sekcji deklaracyjnej programu zadeklarowano zmienną v_nazwisko. Pierwsze polecenie w sekcji wykonywalnej, SELECT INTO, próbuje odczytać nazwisko pracownika, należącego do zespołu o numerze 10. Nazwisko pracownika ma zostać zapamiętane w zmiennej v_nazwisko. Jeśli w zespole o numerze 10 jest tylko jeden pracownik, odczyt powiedzie się i zostanie wykonana następna operacja, która wypisze na konsoli tekst „W zespole 10 pracuje pracownik <nazwisko pracownika>”. Następnie program zakończy działanie. Jeśli w zespole 10 nie ma żadnego pracownika, polecenie SELECT INTO wygeneruje wyjątek NO_DATA_FOUND. Sterowanie zostanie przekazane do sekcji obsługi wyjątków, mamy tam zdefiniowaną podsekcję dla wygenerowanego wyjątku. Z podsekcją związane jest tylko jedno polecenie, wypisze ono na konsoli komunikat „Brak pracowników w zespole 10”, następnie program zostanie zakończony. Jeśli w zespole 10 jest więcej niż jeden pracownik, polecenie SELECT INTO wygeneruje wyjątek TOO_MANY_ROWS. Sterowanie przejdzie do sekcji obsługi wyjątków, tam znajdzie podsekcję odpowiedzialną za ten wyjątek, polecenie w tej sekcji wypisze na konsoli tekst „Więcej niż jeden pracownik w zespole 10”. Program zostanie zakończony.

W sekcji obsługi wyjątków przykładowego bloku zdefiniowano dodatkową klauzulę WHEN OTHERS, która obsłuży ewentualne inne wyjątki, które zostaną wygenerowane podczas działania programu.


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