powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
4 сообщений из 4, страница 1 из 1
ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
    #36720822
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, такой вопрос - есть ли какая нибудь возможность отлавливать и обрабатывать в процедурах ошибки с severity с 10 по 18?

Некоторые из них просто прерывают весь батч и процесс просто не доходит до обработчика значения @@error.

Некоторые случаи можно отловить настройками сессии как arithabort например, но далеко не все.

Как быть в подобной ситуации?

Для чего это надо - есть процедуры которые вызывают другие процедуры и если эти внутренние процедуры завершаются с подобными ошибками то просто прерывается выполнение и внешней процедуры

например:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create procedure sp_test
@i int
as
select  1 /@i

create procedure wrap_sp_test
@i int
as 
declare @err integer
exec sp_test @i
select @err = @@error
if  @err  <> 0 
begin
    print 'error %1!', @err
end

при вызове wrap_sp_test 0 обработчик не сработает.
(в данном случае set arithabort arith_overflow off решит проблему, но как я уже написал, не все случаи разрешается настройками)

Огромное спасибо за отклик.
...
Рейтинг: 0 / 0
ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
    #36722564
Фотография valex13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему проверка входных параметров при выполнении процедуры не устраивает?
...
Рейтинг: 0 / 0
ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
    #36723962
Kru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
valex13А почему проверка входных параметров при выполнении процедуры не устраивает?
Не всё зависит от входных параметров :-(

Тоже, к сожалению, ко всему проверки не приставишь....

Цель - найти, если это возможно, способ обрабатывать ошибки средствами t-SQL

т.е. если процедура 1 вызвавет процедуру 2 и процедура 2 завершается с обибкой (severity 10 -18), то как-то отловить это событие в процедуре 1...

Заранее спасибо!!!
...
Рейтинг: 0 / 0
ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
    #36750877
JenyaD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может ловить ошибки во внутренних процедурах и возвращать -1 в случае ошибки, а во внешних проверять возвращаемое значение.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 12.5.4 - как обрабатывать ошибки с severity с 10 по 18
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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