Процедура RAISE_APPLICATION_ERROR, Інші СУБД, Бази даних, статті

Процедура RAISE_APPLICATION_ERROR дозволяє посилати власні користувальницькі повідомлення про винятки з збережених програм. Ця процедура повертає користувачеві інформацію про виключення тим же способом, яким користується сервер Oraсle для повернення інформації для інших винятків.
 
declare
 i integer;
begin
 i :=1 /0;
exception
 when others then
raise_application_error (-20000, “Поділ на нуль.”);
end;
 
або ще варіанти
 

exception

 when no_data_found then
raise_application_error (-20000, “незнайдених даних”);
 when others then
raise_application_error (-20200, “інші помилки”);
end;
 
Нижче приведена витяг з книги “ORACLE PL / SQL для професіоналів”
 
Використання процедури
RAISE_APPLICATION_ERROR

Ось заголовок процедури RAISE_APPLICATION_ERROR:
PROCEDURE RAISE_APPLICATION_ERROR (
num binary_integer,
msg varchar2,
keeperrorstack boolean default FALSE):
Тут num – це номер помилки з діапазону від -20999 до -20000 (ви тільки подумайте: всі інші негативні числа, які більше -20000, Oracle використовує для власних виключень!); msg – це повідомлення про помилку, довжина якого не повинна перевищувати 2048 символів (символи, що виходять за цю межу, ігноруються); аргумент keeperrorstack вказує, хочете ви додати помилку до тих, що вже є в стеку (TRUE), або замінити існуючу помилку (значення за замовчуванням – FALSE).

ПРИМІТКА
————————————————–
Передбачається, що Oracle для позначення користувальницьких помилок виділила діапазон номерів від -20999 до -20000, але врахуйте, що в декількох вбудованих пакетах, у тому числі в DBMS_OUTPUT і DBMS_DESCRIBE, номера от-20005 до -20 000 як і раніше присвоюються системних помилок. Не дуже зручно, звичайно, але справа йде саме так. Більш докладно про їх використання ви дізнаєтеся з документації пакетів.
————————————————–

При використанні процедури RAISE_APPLICATI0N_ERR0R ви самі визначаєте і номер помилки, і що пояснює її повідомлення. Правда, це може викликати у вас деяку розгубленість, і ви напевно будете діяти за принципом: “Сумніваюся, що хто-небудь вже задав номер -20774, скористаюся ним!” Для того щоб полегшити собі керування кодами помилок і забезпечити своїх колег узгодженим інтерфейсом для обробки серверних помилок, має сенс створити таблицю для зберігання всіх виділених для потреб розробників номерів помилок (-20 NNN) і пов’язаних з ними імен винятків і повідомлень про помилки. Тоді будь-який програміст зможе переглянути вже певні вами або членами вашої команди помилки і знайти ті з них, які підходять для поточної ситуації. Приклад такої таблиці ви знайдете у файлі msginfo.prg на вузлі O “Reilly. Там же є код, що генерує пакет з оголошеннями всіх “зареєстрованих” винятків.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*