Один обработчик на для нескольких исключений в pl/sql Oracle
Статьи про Oracle -> Программирование
Один обработчик на для нескольких исключений в pl/sql Oracle
v:1.0 03.12.2011
Петрелевич Сергей
Интересно, что в pl/sql Oracle для нескольких исключений можно задать один обработчик.
Очень удобная возможность.
Посмотрите, следующий код, функции testProc1 и testProc1 идентичны.
create or replace package body Err as
procedure testProc1 is
begin
dbms_output.put_line('testProc1');
--raise too_many_rows;
--raise no_data_found;
exception
when no_data_found or too_many_rows then
dbms_output.put_line('error:'||dbms_utility.format_error_stack);
end;
procedure testProc2 is
begin
dbms_output.put_line('testProc2');
--raise too_many_rows;
--raise no_data_found;
exception
when no_data_found then
dbms_output.put_line('error:'||dbms_utility.format_error_stack);
when too_many_rows then
dbms_output.put_line('error:'||dbms_utility.format_error_stack);
end;
end;
exception when no_data_found then ... when too_many_rows then ... end;А можно и так:
exception when no_data_found or too_many_rows then ... end;Второй вариант намного лучше.
Метки: PL/SQL
Комментарии.
Внимание.
Комментировать могут только зарегистрированные пользователи.
Возможно использование следующих HTML тегов: <a>, <b>, <i>, <br>.