Вниз
Скачать: CL | DM;

Не обрабатываются ИС! В чем дело?   Найти похожие ветки 

← →
mfender   (2003-08-15 13:13) [0]

Товарищи!
Пишу вот такую примерно конструкцию:
try
Table.Post;
except
on E : EDBEngineError do
if E.Message = "Key violation" then
begin
MessageDlg ("Ошибка", mtError, [mbOk], 0);
Table.Cancel;
end
end;

Почему-то оно мне выдает пресловутое EDBEngineError, но никак не обрабатывается в желаемом направлении. Или я дурак, или одно из двух. Что делать, прмо голову уже надломил свою. Стреляться?


← →
Skier ©   (2003-08-15 13:15) [1]

>mfender (15.08.03 13:13)

> Почему-то оно мне выдает пресловутое EDBEngineError, но
> никак не обрабатывается в желаемом направлении

1) Запусти не из под Delphi
2) Это условие E.Message = "Key violation" точно выполняется ?


← →
PVOzerski ©   (2003-08-15 13:16) [2]

1) А не из-под IDE ли работает прога, когда выдает EDBEngineError? И как IDE настроена с точки зрения exception"ов?
2) А вывести содержимое любого E.Message в окошко не пробовали?


← →
still ©   (2003-08-15 13:16) [3]

А ты уверен что именно так E.Message = "Key violation"?
Попробуй проверять не на точное соответствие
Pos("Key violation", E.Message) > 0


← →
mfender   (2003-08-15 13:16) [4]

Да. Точно. Запускаю уде компиленный exe - ОН мне "Key violation"


← →
mfender   (2003-08-15 13:18) [5]

1) А не из-под IDE ли работает прога, когда выдает EDBEngineError? И как IDE настроена с точки зрения exception"ов?
2) А вывести содержимое любого E.Message в окошко не пробовали?


Нельзя ли расшифровать?


← →
Шёл мимо   (2003-08-15 13:32) [6]

Чтобы локализовать ошибку, можно попробовать так:
try
Table.Post;
except
MessageDlg ("Ошибка", mtError, [mbOk], 0);
Table.Cancel;
end
end;
И не забыть Skier © (15.08.03 13:15) [1]
1) Запусти не из под Delphi
т.е. скомпилированный модуль


← →
PVOzerski ©   (2003-08-15 13:36) [7]

2mfender: 1) IDE может отлавливать ИС даже из-под try. Для удобства программера. В D6 это в Tools/Debugger options.

2) Видимо, Вы это уже сделали.


← →
mfender   (2003-08-15 13:39) [8]

Вот только что в целях общего образования задал ему такую порчу:
A:=10;
D:=0;
A:=A div D;
Что он мне должен сказать на это? Молчит, гадюка.
Что же предпринять? Может чего-то надо донастроить?


← →
jel ©   (2003-08-15 14:04) [9]


> mfender (15.08.03 13:39) [8]


А Application.onException не перекрыт часом?


← →
Andrey007   (2003-08-15 14:14) [10]

А может, лучше так?
try
Table.Post
except
on E: Exception do
begin
ShowMessage(E.Message);
Table.Cancel
end
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.008 c
3-91979
BoxTer
2003-08-01 09:16
2003.08.28
CommandTimeout в ADO


14-92196
Romkin
2003-08-10 17:14
2003.08.28
Есть квартира


3-92026
Relaxxx
2003-08-04 18:36
2003.08.28
Перерисовка ДБГрида взависимости от значений полей таблицы


3-92074
W-Bazil
2003-08-01 16:19
2003.08.28
Ошибка преобразования типов


7-92277
_Al
2003-06-11 15:35
2003.08.28
RAR, работа с файлами архивов




   Наверх