Nemůžeme říci, že kód je robustní, dokud nezvládne všechny výjimky. Chyby a náhlé ukončení programu jsou noční můry programátorova života. Žádný programátor nechce vyvíjet kód, který se uprostřed zhroutí nebo se chová neočekávaně. Pro hladký chod softwaru je tedy nutné ošetřit všechny druhy výjimek.
Znát svůj problém je prvním krokem k nalezení jeho řešení. Pojďme se tedy dozvědět více o zpracování výjimek v databázi Oracle.
Co je to výjimka?
Jakýkoli abnormální stav nebo událost, která přeruší normální tok instrukcí vašeho programu za běhu, je výjimkou. Nebo jednoduše můžete říci, že výjimka je chyba běhu.
Informační bajt:
Výjimky jsou navrženy pro zpracování chyb při běhu, nikoli pro zpracování chyb při kompilaci. Chyby, které se vyskytnou během fáze kompilace, jsou detekovány kompilátorem PL/SQL a hlášeny zpět uživateli.
Typy výjimek
V databázi Oracle existují dva typy výjimek PL/SQL.
- Výjimky definované systémem a
- Uživatelem definované výjimky
Výjimky definované systémem
Systémově definované výjimky definuje a spravuje implicitně server Oracle. Tyto výjimky jsou definovány hlavně v balíčku Oracle STANDARD . Kdykoli dojde uvnitř programu k výjimce. Server Oracle odpovídá a identifikuje příslušnou výjimku z dostupné sady výjimek.
Systémem definované výjimky mají většinou negativní chybový kód a chybovou zprávu. Tyto chyby mají krátký název, který se používá s obslužnou rutinou výjimky.
Informační bajt:
Oracle využívá dvě pomocné funkce SQLCODE &SQLERRM k načtení chybového kódu a zprávy pro poslední výjimku.
Výjimky definované uživatelem
Na rozdíl od System-Define Exception, User-Define Exception jsou vyvolány explicitně v těle bloku PL/SQL (konkrétněji v sekci BEGIN-END) pomocí příkazu RAISE.
Jak deklarovat uživatelsky definovanou výjimku v databázi Oracle.
Existují tři způsoby, jak deklarovat uživatelem definované výjimky v databázi Oracle.
- Deklarováním proměnné typu EXCEPTION v sekci deklarace.
Uživatelem definovanou výjimku můžete deklarovat tak, že ve svém kódu deklarujete proměnnou datového typu EXCEPTION a explicitně ji vyvoláte ve svém programu pomocí příkazu RAISE a zpracujete je v části Exception.
- Deklarujte uživatelem definovanou výjimku pomocí funkce PRAGMA EXCEPTION_INIT.
Pomocí funkce PRAGMA EXCEPTION_INIT můžete mapovat nepředdefinované číslo chyby s proměnnou datového typu EXCEPTION. Znamená to, že pomocí stejné funkce můžete přiřadit proměnnou datového typu EXCEPTION se standardní chybou.
- Metoda RAISE_APPLICATION_ERROR.
Pomocí této metody můžete deklarovat uživatelem definovanou výjimku s vlastním přizpůsobeným číslem chyby a zprávou.
To je pro tuto sekci vše. Doufám, že se vám tento krátký úvod do zpracování výjimek v databázi Oracle líbil. V tomto blogu jsem se pokusil odpovědět na několik otázek, které můžete očekávat v rámci certifikace Oracle Database Certification a také v rozhovoru .
Zůstaňte naladěni, protože v dalším tutoriálu uděláme několik skvělých příkladů vysvětlujících výše uvedené koncepty, které vám pomohou rozšířit vaše znalosti a dají vám silnou kontrolu nad koncepty zpracování výjimek PL/SQL. Děkuji a přeji hezký den!