Назад к вопросам
Middle
10
Работал ли с исключениями? Какие виды исключений есть в PL/SQL?
Компании, где спрашивали
AltDev
Ответ от нейросети
sobes.tech AI
В PL/SQL работа с исключениями — важная часть обработки ошибок и управления потоком выполнения.
Основные виды исключений в PL/SQL:
-
Предопределённые исключения (Predefined exceptions) — встроенные в язык, например:
NO_DATA_FOUND— когда запрос SELECT не возвращает строк.TOO_MANY_ROWS— когда SELECT возвращает больше одной строки.ZERO_DIVIDE— деление на ноль.VALUE_ERROR— ошибка преобразования типов.
-
Пользовательские исключения (User-defined exceptions) — объявляются программистом с помощью
EXCEPTIONи вызываются черезRAISE. -
Исключения, связанные с ошибками Oracle (Oracle error exceptions) — ловятся через
OTHERSили с помощьюSQLCODEиSQLERRM.
Пример обработки исключения:
DECLARE
v_num NUMBER;
BEGIN
SELECT salary INTO v_num FROM employees WHERE employee_id = 9999;
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Сотрудник не найден');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Другая ошибка: ' || SQLERRM);
END;
Таким образом, исключения позволяют контролировать ошибки и обеспечивать надежность PL/SQL кода.