Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Передать параметр в эксепшн / 9 сообщений из 9, страница 1 из 1
22.02.2017, 18:49
    #39409343
Двоюшник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
Есть желание что-то сделать типа такого:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare
  e exception;
  pragma exception_init(e,-1);
begin
  if <something wrong> then
    set var ...  --??
   raise e;
  end if;
end;



на выходе получить вменяемое сообщение с exception, а не
Код: plaintext
1.
2.
ORA-00001: unique constraint (.) violated
ORA-06512: at line 6

Тоесть с именем констрейнта или другого параметра в других exceptions

Можно такое сделать?
Заранее благодарен!
---
Ну ты заходи ежели чё...
...
Рейтинг: 0 / 0
22.02.2017, 19:08
    #39409358
AmKad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
raise_application_error?
...
Рейтинг: 0 / 0
22.02.2017, 19:13
    #39409361
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
AmKadraise_application_errorмимикрировать не поможет.
И наверное, слава богу.
...
Рейтинг: 0 / 0
27.02.2017, 16:43
    #39411063
Takurava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
Elicмимикрировать не поможет. В каком смысле?
...
Рейтинг: 0 / 0
27.02.2017, 16:50
    #39411069
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
TakuravaElicмимикрировать не поможет. В каком смысле? Перечитываем исходный вопрос.
...
Рейтинг: 0 / 0
27.02.2017, 17:07
    #39411087
atrkarrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
ДвоюшникТоесть с именем констрейнта или другого параметра в других exceptions
SQLERRM разве не выводит имя констрейнта?
Немного интереснее и полезнее имхо сделать привязку исключений к предметной области, чтобы для пользователя выводилось не имя констрейнта, а человеческое сообщение
...
Рейтинг: 0 / 0
27.02.2017, 18:39
    #39411149
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
atrkarrrчеловеческое сообщениев пределах 30 байт ни в чем себе не отказывай.
...
Рейтинг: 0 / 0
27.02.2017, 18:40
    #39411150
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
Двоюшник,

ты расскажи конкретную ситуацию.
Наверняка есть простой выход.
...
Рейтинг: 0 / 0
27.02.2017, 18:44
    #39411152
кто тут?
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передать параметр в эксепшн
Двоюшник,

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
declare
  l_num         number;
  hz_exception  exception;
  pragma exception_init(hz_exception, -20001);
begin
  select 1 /*2*/
  into l_num
  from dual;  
  
  if
    l_num = 1 then raise_application_error(-20000, 'Custom error 1'); 
  else 
    raise hz_exception;
  end if;
end;
/
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Передать параметр в эксепшн / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]