Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / warning в fib+ / 20 сообщений из 20, страница 1 из 1
24.11.2017, 19:22:11
    #39559248
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Добрый день
Подскажите как перехватить warning/error при выполнении запроса (попытка вставить дублирующую запись в таблицу с ПК как пример )?
...
Рейтинг: 0 / 0
24.11.2017, 19:30:15
    #39559252
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
RTFM TpFIBErrorHandler.
...
Рейтинг: 0 / 0
24.11.2017, 19:31:42
    #39559253
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
автор(попытка вставить дублирующую запись в таблицу с ПК как пример )?
Это не warning, а полноценное исключение.
...
Рейтинг: 0 / 0
24.11.2017, 19:36:26
    #39559256
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Gallemar,
никак.
Ворнинги в компайлтайме живут, онли.
Или объясняй, что ты имеешь в виду.
...
Рейтинг: 0 / 0
24.11.2017, 19:42:07
    #39559261
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
чччДВорнинги в компайлтайме живут, онли
Ну, так если запрос создает ХП, например, или блок запускает, варнинги могут быть. Например, IBExpert пишет варнинги типа "variable declared but never used". Не уверен, правда, что это сервер присылает, а не IBExpert такой умный, но вряд ли.
...
Рейтинг: 0 / 0
24.11.2017, 19:45:39
    #39559264
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
YuRockчччДВорнинги в компайлтайме живут, онли
Ну, так если запрос создает ХП, например, или блок запускает, варнинги могут быть. Например, IBExpert пишет варнинги типа "variable declared but never used". Не уверен, правда, что это сервер присылает, а не IBExpert такой умный, но вряд ли.
Ну ты совсем ку-ку, что ли. Или толлишь постоянно.

Ибэксперт сам такой умный, серверу пофиг.
...
Рейтинг: 0 / 0
25.11.2017, 02:24:00
    #39559325
Док
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Gallemar,

Любезный правильно подсказал. Отлавливай GDS код. В демках или на сайте у фибов примеры были
...
Рейтинг: 0 / 0
26.11.2017, 16:59:28
    #39559635
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
ДокGallemar,

Любезный правильно подсказал. Отлавливай GDS код. В демках или на сайте у фибов примеры были

Мне надо поймать ошибку при вставке дублирующей записи в таблицу с ПК
Invalid insert or update value(s): object columns are constrained - no 2 table rows can have duplicate column values.
violation of PRIMARY or UNIQUE KEY constraint "PK_LOCK_DOC" on table "LOCK_DOC".
Problematic key value is ("DOCHEAD" = 42351648).

И если она есть - сделать запись в логе и продолжить выполнение с другого блока.
...
Рейтинг: 0 / 0
26.11.2017, 17:27:35
    #39559640
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
ЛюбезныйRTFM TpFIBErrorHandler.
С ним проблема:
Undeclared identifier: 'EFIBError'

в


procedure pFibErrorHandler1FIBErrorEvent(Sender: TObject;
ErrorValue: EFIBError; KindIBError: TKindIBError;
var DoRaise: Boolean);

Это что, какой-то косяк с фибами?
...
Рейтинг: 0 / 0
26.11.2017, 17:37:27
    #39559647
Любезный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Надо смотреть, в каком модуле прописан класс EFIBError, и прописать этот модуль в uses.
Открой пакет с фибами и поищи поиском.
...
Рейтинг: 0 / 0
26.11.2017, 18:36:58
    #39559680
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Любезный,

искать в FIBPlus7.dpk, я же прввильно понял?
...
Рейтинг: 0 / 0
26.11.2017, 19:55:24
    #39559709
mvb
mvb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
ЛюбезныйEFIBError
он в FIB.pas
...
Рейтинг: 0 / 0
27.11.2017, 03:09:06
    #39559751
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
ЛюбезныйНадо смотреть, в каком модуле прописан класс EFIBError, и прописать этот модуль в uses.
Открой пакет с фибами и поищи поиском.

EFIBError = class(EDatabaseError)

Класс EDatabaseError прописать?
...
Рейтинг: 0 / 0
27.11.2017, 03:17:43
    #39559753
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
стоп, гоню. Разобрался
...
Рейтинг: 0 / 0
27.11.2017, 03:21:54
    #39559754
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Хм, а как с помощью ErrorHandler подавить эксепшен, сделать запись в лог и просто продолжить выполнение кода. Крутил ErrorHandler, всё равно окно с ошибкой получаю
...
Рейтинг: 0 / 0
27.11.2017, 03:48:34
    #39559756
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
GallemarХм, а как с помощью ErrorHandler подавить эксепшен, сделать запись в лог и просто продолжить выполнение кода. Крутил ErrorHandler, всё равно окно с ошибкой получаю
Записать в лог? С помощью ErrorHandler?
...
Рейтинг: 0 / 0
27.11.2017, 03:53:28
    #39559757
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Gallemar,

Из документации Централизованная обработка ошибок – TpFIBErrorHandler

FIBPlus позволяет централизованно обрабатывать ошибки и исключительные, которые возникают при работе «своих» компонентов. Для этого существует компонент TpFIBErrorHandler с единственным событием OnFIBErrorEvent :
Код: pascal
1.
2.
TOnFIBErrorEvent = procedure(Sender: TObject; ErrorValue: EFIBError;
 KindIBError: TKindIBError; var DoRaise: boolean) of object;

где

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
TKindIBError = (keNoError, keException, keForeignKey, keLostConnect,
 keSecurity, keCheck, keUniqueViolation, keOther);
EFIBError = class(EDatabaseError)
 //..
 property SQLCode : Long read FSQLCode ;
 property IBErrorCode: Long read FIBErrorCode ;
 property SQLMessage : string read FSQLMessage;
 property IBMessage : string read FIBMessage;
end;


Опция DoRaise управляет дальнейшим поведением библиотеки после выполнения обработчика, то есть, указывает, будет ли генерироваться стандартное исключение или нет.
Опция может быть использована для стандартной обработки различных типов ошибок перечисленных в KindIBError
...
Рейтинг: 0 / 0
27.11.2017, 04:33:15
    #39559759
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
чччДGallemarХм, а как с помощью ErrorHandler подавить эксепшен, сделать запись в лог и просто продолжить выполнение кода. Крутил ErrorHandler, всё равно окно с ошибкой получаю
Записать в лог? С помощью ErrorHandler?
Нет, просто запись сделать и подавить эксепшен. Типа ничего не было, дальше пьем
...
Рейтинг: 0 / 0
27.11.2017, 04:39:25
    #39559760
чччД
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
Gallemar,

DoRaise же.
...
Рейтинг: 0 / 0
27.11.2017, 08:13:42
    #39559778
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
warning в fib+
чччД, спасибо
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / warning в fib+ / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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