Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

Сообщение EXCEPTION а   Найти похожие ветки 

 
3APA3A   (2004-06-27 21:28) [0]

Создаю я exception
  CREATE EXCEPTION TEST_EXPT "Some exception";
Когда он срабатывает на клиенте вылезает сообщение типа
 (название класса не помню) with message "exception 1 : Some exception".
 Вопросы
  1) Как мне распознать, что это именно "мое" исключение а не какой-нибудь системный сбой? (Класс исключения то у всех одинаковый)
  2) Можно ли убрать строки "exception 1..." и просто выводить "Some exception"  (число - это как я понял ExceptionID)...


 
Курдль   (2004-06-27 21:42) [1]


...
except
 on E: EDataBaseError do Application.MessageBox("Ошибка", E.Message, MB_ICONSTOP);

В некоторых СУБД можно генерить исключения с определенным кодом и обрабатывать его по E.ErrorCode


 
DrPass ©   (2004-06-27 22:52) [2]

1. По свойству EIBInterBaseError.IBErrorCode
2. Убрать лишнюю часть строки EIBInterBaseError.Message - это проблема?


 
Курдль   (2004-06-27 23:25) [3]


> DrPass ©   (27.06.04 22:52) [2]

A кто сказал про InterBase????


 
DrPass ©   (2004-06-28 00:58) [4]


> A кто сказал про InterBase????

Я не обратил внимания. Но я думаю, автор поста догадается заменить EIBInterBaseError на EDataBaseError?


 
3APA3A   (2004-06-28 11:13) [5]

Извиняюсь, забыл указать, но речь действительно идет про InterBase.

  По свойству EIBInterBaseError.IBErrorCode  и как мне узнать какой код будет у моего исключения?  

  Убрать лишнюю часть строки EIBInterBaseError.Message - это проблема? - я не совсем это имел в виду.... Может быть у сервера где-нибудь в настройках есть это....


 
Digitman ©   (2004-06-28 12:31) [6]


> По свойству EIBInterBaseError.IBErrorCode


В общем случае нельзя жестко привязываться к IBErrorCode
после backup/restore коды польз.исключений могут измениться

В частном случае в принципе можно привязаться к IBErrorCode единственного польз.исключения TEST_EXPT, но при этом придется задействовать соотв.FB-фичу:

1. В ХП/триггере возбуждаем польз.исключение
EXCEPTION TEST_EXPT  "0000 Some exception";

где 0000 - стр.представление некоего фиксированного спецкода ошибки для анализа на кл.стороне

2. На кл.стороне

on e:EIBInterBaseError do
case IBErrorCode of
1: begin
    FixedErrCode := IntToStr(Copy(e.message, 1, 4)); // прикладной код ошиб.ситуации 0000
    case FixedErrCode of
     0: Showmessage("Такая-то ошибочная ситуация");
     ...
    end;
  end;



Страницы: 1 вся ветка

Текущий архив: 2004.07.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
14-1088970778
ИМХО
2004-07-04 23:52
2004.07.25
Американские тэги к фильмам


11-1077185193
<Falcon>
2004-02-19 13:06
2004.07.25
onDrawCell в mdvXLGrid


14-1089116491
Акуля
2004-07-06 16:21
2004.07.25
какую книжку лучше почитать


14-1089113841
Акуля
2004-07-06 15:37
2004.07.25
Кто может, помогите!!!!!


3-1088749882
b-a-n
2004-07-02 10:31
2004.07.25
DBGrid