Nie możemy powiedzieć, że kod jest solidny, dopóki nie obsłuży wszystkich wyjątków. Błędy i nagłe zakończenie programu to koszmary w życiu programisty. Żaden programista nie chce tworzyć kodu, który ulegnie awarii w trakcie lub będzie zachowywał się nieoczekiwanie. Dlatego dla sprawnego działania oprogramowania konieczne jest radzenie sobie z wszelkiego rodzaju wyjątkami.
Znajomość swojego problemu to pierwszy krok do znalezienia jego rozwiązania. Dowiedzmy się więc więcej o obsłudze wyjątków w bazie danych Oracle.
Co to jest wyjątek?
Wyjątkiem jest każdy nienormalny stan lub zdarzenie, które przerywa normalny przepływ instrukcji programu w czasie wykonywania. Lub prostymi słowami możesz powiedzieć, że wyjątek jest błędem w czasie wykonywania.
Bajt informacji:
Wyjątki są przeznaczone do obsługi błędów w czasie wykonywania, a nie do obsługi błędów w czasie kompilacji. Błędy występujące podczas fazy kompilacji są wykrywane przez kompilator PL/SQL i zgłaszane użytkownikowi.
Rodzaje wyjątków
W bazie danych Oracle istnieją dwa rodzaje wyjątków PL/SQL.
- Wyjątki zdefiniowane przez system i
- Wyjątki zdefiniowane przez użytkownika
Wyjątki zdefiniowane przez system
Wyjątki zdefiniowane przez system są definiowane i obsługiwane niejawnie przez serwer Oracle. Te wyjątki są zdefiniowane głównie w pakietu Oracle STANDARD . Za każdym razem, gdy w programie wystąpi wyjątek. Serwer Oracle dopasowuje i identyfikuje odpowiedni wyjątek z dostępnego zestawu wyjątków.
Wyjątki zdefiniowane przez system mają głównie negatywny kod błędu i komunikat o błędzie. Te błędy mają krótką nazwę, która jest używana z obsługą wyjątków.
Bajt informacyjny:
Oracle korzysta z dwóch funkcji narzędziowych SQLCODE i SQLERRM, aby pobrać kod błędu i komunikat dotyczący ostatniego wyjątku.
Wyjątki definiowane przez użytkownika
W przeciwieństwie do wyjątków definiowanych przez system, wyjątki definiowane przez użytkownika są zgłaszane jawnie w treści bloku PL/SQL (dokładniej w sekcji BEGIN-END) przy użyciu instrukcji RAISE.
Jak zadeklarować wyjątek zdefiniowany przez użytkownika w bazie danych Oracle.
Istnieją trzy sposoby deklarowania wyjątków zdefiniowanych przez użytkownika w Oracle Database.
- Deklarując zmienną typu EXCEPTION w sekcji deklaracji.
Możesz zadeklarować wyjątek zdefiniowany przez użytkownika, deklarując zmienną typu danych EXCEPTION w swoim kodzie i podnosząc ją jawnie w programie za pomocą instrukcji RAISE i obsługuj je w sekcji wyjątków.
- Zadeklaruj wyjątek zdefiniowany przez użytkownika za pomocą funkcji PRAGMA EXCEPTION_INIT.
Za pomocą funkcji PRAGMA EXCEPTION_INIT można zmapować niezdefiniowany wcześniej numer błędu ze zmienną o typie danych EXCEPTION. Oznacza to, że używając tej samej funkcji możesz powiązać zmienną typu danych WYJĄTEK ze standardowym błędem.
- Metoda RAISE_APPLICATION_ERROR.
Korzystając z tej metody, możesz zadeklarować wyjątek zdefiniowany przez użytkownika z własnym, dostosowanym numerem błędu i komunikatem.
To wszystko w tej sekcji. Mamy nadzieję, że spodobało Ci się to krótkie wprowadzenie do obsługi wyjątków w Oracle Database. W tym blogu próbowałem odpowiedzieć na kilka pytań, których możesz się spodziewać podczas certyfikacji Oracle Database, a także w wywiadu .
Bądź na bieżąco, ponieważ w następnym samouczku zrobimy kilka fajnych przykładów wyjaśniających powyższe koncepcje, które pomogą ci poszerzyć twoją wiedzę i dadzą ci silną wiedzę na temat obsługi wyjątków PL/SQL. Dzięki i życzę miłego dnia!