Sobes.tech
Middle

Πώς υλοποιείται ένα μπλοκ εξαιρέσεων στο PL/SQL; Πώς δημιουργείτε μια προσαρμοσμένη εξαίρεση;

sobes.tech AI

Απάντηση από 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;