Sobes.tech
Назад к вопросам
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;