Назад к вопросам
Middle
13
Как реализовать блок исключений в PL/SQL? Как создать пользовательское исключение?
Компании, где спрашивали
AltDev
Ответ от нейросети
sobes.tech AI
В PL/SQL блок исключений используется для обработки ошибок, которые могут возникнуть во время выполнения кода. Он располагается в конце анонимного блока или процедуры/функции после секции BEGIN ... EXCEPTION ... END.
Пример блока с обработкой исключений:
BEGIN
-- Основной код
NULL; -- заглушка
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Данные не найдены');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Произошла ошибка: ' || SQLERRM);
END;
Для создания пользовательского исключения нужно объявить переменную типа EXCEPTION, а затем вызвать её с помощью оператора RAISE.
Пример пользовательского исключения:
DECLARE
my_exception EXCEPTION; -- объявление пользовательского исключения
BEGIN
-- Некоторая логика
IF some_condition THEN
RAISE my_exception; -- вызов исключения
END IF;
EXCEPTION
WHEN my_exception THEN
DBMS_OUTPUT.PUT_LINE('Обработано пользовательское исключение');
END;