powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по процедуре и exception
8 сообщений из 8, страница 1 из 1
Вопрос по процедуре и exception
    #39149457
Alexey Poryadin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Firebird 2.5
IDExpert 2015.10.12.1

Сделал тестовую процедуру:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
create or alter procedure P_TEST_1
returns (
    ERR INT_NOT_NULL)
as
begin
  ERR = 21;

  suspend;
  exception au_no_correct_data 'skjdgfghsd';
  Exit;

  ERR = 29;
  suspend;
end



Тестирую запросом:
Код: sql
1.
2.
select *
from p_test_1



Вначале выскакивет сообщение об ошибке (это понятно).
Потом возвращается значения
ERR;21;null;

Если после получения результата посмотреть текст процедуры, а потом вернуться к результату запроса, то данные дополняются еще одной строкой
ERR;21;null;21;

Так и должно быть? Ожидалось, что будет только одна строка.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149492
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Poryadin,

Ну а что ISQL показывает?

С вопросами по IBE лучше обращаться в профильный форум - тут
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149541
Alexey Poryadin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ISQL показывает 1 строку

Буду смотреть.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149591
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В эксперте что-то глючит.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149647
Alexey Poryadin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего, да, глючит Эксперт (ну или я).
Коммичу транзакцию.
Вызываю процедуру.
Сообщение об ошибке отдельным окном не вылетает, а идет в окне сообщений.А возвращаемых строк вообще нет (транзакция откачена...).

При повторном вызове процедуры, сообщение об ошибке выходит отдельным окном и выпадает сообщение об ошибке IBExpress

Error Message:
----------------------------------------
Access violation at address 00502D6A in module 'IBExpert.exe'. Read of address 0000008C

[00502D6A] Db.TField.GetFullName (Line 3681, "DB.pas" + 1) + $0
[00403BFF] System.@HandleAnyException + $33
[00FAEDE3] DataFm.TDataFrame.Execute (Line 1493, "Frames\DataFm.pas" + 129) + $3
[00D68F7F] SQLscrF.TSQLScriptForm.ExecuteIBQuery (Line 3578, "SQLscrF.pas" + 84) + $4
[00D63A4C] SQLscrF.TSQLScriptForm.aRunQueryExecute (Line 1947, "SQLscrF.pas" + 27) + $6
[004258AF] Classes.TBasicAction.Execute (Line 8076, "Classes.pas" + 3) + $7
[004DF334] dxBar.TdxBarItemControl.ControlUnclick (Line 22610, "dxBar.pas" + 28) + $7


При третьем вызове процедуры, есть сообщение об ошибке в отдельном окне и есть набор строк
ERRnull;21;null;

Какая реакция правильная?

Спасибо за ответы.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149703
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey PoryadinКакая реакция правильная?

Та, которую показывает канонический ISQL.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149705
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterAlexey PoryadinКакая реакция правильная?

Та, которую показывает канонический ISQL.

Это пока Таблоида тут нету - у него может быть другое мнение.
...
Рейтинг: 0 / 0
Вопрос по процедуре и exception
    #39149744
Alexey Poryadin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок. Спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по процедуре и exception
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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