Не можем да кажем, че кодът е стабилен, докато не може да се справи с всички изключения. Бъгове и внезапно прекратяване на програма са кошмарите в живота на програмиста. Никой програмист не иска да разработи код, който ще се срине по средата или ще се държи неочаквано. По този начин за гладкото изпълнение на софтуера е необходимо да се обработват всички видове изключения.
Познаването на проблема ви е първата стъпка към намирането на неговото решение. Така че нека научим повече за обработката на изключения в базата данни на Oracle.
Какво е изключение?
Всяко необичайно състояние или събитие, което прекъсва нормалния поток на инструкциите на вашата програма по време на изпълнение, е изключение. Или с прости думи можете да кажете, че изключението е грешка по време на изпълнение.
Информационен байт:
Изключенията са предназначени за обработка на грешки по време на изпълнение, а не за обработка на грешки при компилиране. Грешките, които възникват по време на фазата на компилация, се откриват от PL/SQL компилатора и се докладват обратно на потребителя.
Видове изключения
Има два типа PL/SQL изключения в базата данни на Oracle.
- Системно дефинирани изключения и
- Дефинирани от потребителя изключения
Системно дефинирани изключения
Системно дефинираните изключения се дефинират и поддържат имплицитно от сървъра на Oracle. Тези изключения са дефинирани основно в пакета Oracle STANDARD . Всеки път, когато възникне изключение вътре в програмата. Сървърът на Oracle съвпада и идентифицира подходящото изключение от наличния набор от изключения.
Системно дефинираните изключения имат предимно отрицателен код за грешка и съобщение за грешка. Тези грешки имат кратко име, което се използва с манипулатора на изключения.
Информационен байт:
Oracle използва две помощни функции SQLCODE и SQLERRM, за да извлече кода за грешка и съобщението за последното изключение.
Изключения, дефинирани от потребителя
За разлика от System-Define Exception, User-Define Exceptions се повдигат изрично в тялото на блока PL/SQL (по-точно в секцията BEGIN-END) с помощта на оператора RAISE.
Как да декларирате изключение, дефинирано от потребителя в Oracle Database.
Има три начина за деклариране на потребителски дефинирани изключения в Oracle Database.
- Чрез деклариране на променлива от тип EXCEPTION в секцията за декларации.
Можете да декларирате дефинирано от потребител изключение, като декларирате променлива с тип данни EXCEPTION във вашия код и я повдигнете изрично във вашата програма, като използвате оператор RAISE и ги обработвате в секцията за изключения.
- Декларирайте изключение, дефинирано от потребителя, като използвате функцията PRAGMA EXCEPTION_INIT.
С помощта на функцията PRAGMA EXCEPTION_INIT можете да съпоставите непредефиниран номер на грешка с променливата от тип данни EXCEPTION. Означава, че с помощта на същата функция можете да свържете променлива от тип данни EXCEPTION със стандартна грешка.
- Метод RAISE_APPLICATION_ERROR.
Използвайки този метод, можете да декларирате дефинирано от потребител изключение със собствен персонализиран номер на грешка и съобщение.
Това е всичко за този раздел. Надяваме се, че ви е харесало да прочетете това кратко въведение в обработката на изключения в Oracle Database. В този блог се опитах да отговоря на няколко въпроса, които можете да очаквате във вашето Oracle Database Certification, както и в интервюто .
Останете на линия, тъй като в следващия урок ще направим няколко страхотни примера, обясняващи гореспоменатите концепции, които ще ви помогнат да подобрите знанията си и ще ви дадем силно влияние върху концепциите за обработка на изключения PL/SQL. Благодаря и приятен ден!