Страница 1 из 1

что за ..опа с исключениями в fb2?

Добавлено: 05 дек 2006, 12:54
sydenis
речь о пользовательских исключениях
до сих пор, что бы получить на клиенте текст, который прописан в эксепшенах на сервере, я брал поле EFIBError.IBMessage немного доводил его лобзиком и всё было хорошо...
а теперь в этом поле приходят такие нехилые текстовочки, что разгрести их руками очень проблематично..
это как-нибудь лечится?

Добавлено: 05 дек 2006, 13:10
kdv
"текстовочки" - например?

Добавлено: 05 дек 2006, 13:30
Dimitry Sibiryakov
Насколько я помню, там вываливается весь стек. Победить можно разве что парсингом статуса ручками.

Добавлено: 05 дек 2006, 13:40
sydenis
так сейчас:
Exception 1.
EX_GENERAL.
Произошла ошибка.
At procedure 'NEW_PROC'.

а так было:
.
Произошла ошибка.

посложнее парсить будет, однако..

Добавлено: 05 дек 2006, 13:58
Dimitry Sibiryakov
Это в деврейс. Пусть меняют способ формирования сообщения. Откатывать изменения в сервере вряд ли кто-то будет, а на предложение нового конфигурационного параметра я первый скажу "фи".

Добавлено: 05 дек 2006, 17:46
buzz
Dimitry Sibiryakov писал(а):Это в деврейс. Пусть меняют способ формирования сообщения. Откатывать изменения в сервере вряд ли кто-то будет, а на предложение нового конфигурационного параметра я первый скажу "фи".
В этом поле выводится полное оригинальное сообщение сервера. и никто этот способ менять не будет. Иначе обязательно найдется другой недовольный , который резонно начнет возмущаться что
сервер дисциплинированно передает инфу а злобный
фибплюс корежит ее по своему усмотрению лишь бы домохозяйкам угодить

Добавлено: 05 дек 2006, 18:06
sydenis
упс... приплыли

Добавлено: 05 дек 2006, 18:32
buzz
sydenis писал(а):упс... приплыли
никто никуда не приплыл. смотри ответ в конференции

Добавлено: 06 дек 2006, 07:46
Dimitry Sibiryakov
buzz писал(а):В этом поле выводится полное оригинальное сообщение сервера. и никто этот способ менять не будет.
Ваше право, но лично я бы немного расширил TIBDataBaseErrorMessages и таким образом отсек бы для нежелающих Call Stack.

Добавлено: 06 дек 2006, 10:41
hvlad
buzz писал(а):В этом поле выводится полное оригинальное сообщение сервера. и никто этот способ менять не будет. Иначе обязательно найдется другой недовольный , который резонно начнет возмущаться что
сервер дисциплинированно передает инфу а злобный
фибплюс корежит ее по своему усмотрению лишь бы домохозяйкам угодить
Вообще говоря 'полное оригинальное сообщение сервера' это статус-вектор, а не сумма содержащиъся в нём строк :)
Стек имеет свой отдельный код ошибки, так что никакой сложности с парсингом статус-вектора я лично не вижу.
Про домохозяек - согласен :)

PS А warning'и вы показывать умеете ? А то есть шанс, что в 2.1 они будут не только gbak'у отдаваться

Добавлено: 06 дек 2006, 16:13
sydenis
кстати про домохозяек и парсинг статус-вектора..
в классе EFIBError введено прилично текстовых полей,
FSQLMessage :string;
FIBMessage :string;
FCustomMessage: string;
почему бы их не использовать для такой актуальной задачи как получение пользователем своего текста? Неужели, задачи, для которых они используются сейчас более актуальны?
Даже если и так, то, имхо, ничто не мешает добавить ещё одно N+1-e поле...