powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иметь доступ ко всему стеку ошибок.
1 сообщений из 1, страница 1 из 1
Иметь доступ ко всему стеку ошибок.
    #32091726
none
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Простой пример:

Код: plaintext
1.
2.
3.
4.
5.
6.
DECLARE
 Number1$ NUMBER( 10 );
BEGIN
 Number1$ := SOME_FUNCTION( 26 ,  111 );
END;
/


Если в SOME_FUNCTION есть неотловленные исключения в приложение (например SQL+), выкидываются ошибки, например:

ERROR at line 1:
ORA-01401: inserted value too large for column
ORA-06512: at line 28
ORA-06512: at "SOME_FUNCTION", line 727
ORA-06512: at line 4

То есть мне точно ясно, что в SOME_FUNCTION в строке 727, есть какойто баг, и необходимо его пофиксить.

Теперь, реалии заставляют использовать такую конструкцию:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
DECLARE
 Number1$ NUMBER( 10 );
BEGIN
 BEGIN
  Number1$ := SOME_FUNCTION( 26 ,  111 );
 EXCEPTION
  WHEN OTHERS THEN 
   RAISE; 
 END; 
END;
/


И такая конструкция выкинет ошибку текушего (то биш верхнего) блока:
ERROR at line 1:
ORA-01401: inserted value too large for column
ORA-06512: at line 8

Отсюда я вижу, что в SOME_FUNCTION, есть ошибки, но не знаю где именно.
Таким образом, желательно получить весь стек ошибок.

Как?
Может есть готовый пакадж, системная вьюшка для просмотра таких ошибок?
Я понимаю, что все это можно организовать ручками, а потом юзеру кидать RAISE_APPLICATION_ERROR, со всей строкой ошибок, но это не хорошо.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Иметь доступ ко всему стеку ошибок.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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