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

Вниз

Игнорирование исключений   Найти похожие ветки 

 
Ломброзо ©   (2004-04-13 00:20) [0]

Пусть есть такой код:
var i: integer;
   v_i: variant;
...
// здесь:
 try
   v_i = NULL;
   i := v_i;
 except
   on E:EVariantError do
 end;

 v_i := 100;
 i := v_i;

Код просто для примера. В первом блоке, естественно, вылетает EVariantError. Мне это место надо просто игнорировать. С включенным интегрированным отладчиком и галкой "Stop on Delphi exceptions"  "отлаживать" становится просто утомительно, отладчик упорно залезает в этот блок и там застревает. Мне надо просто игнорировать это исключение именно в этом самом месте (и не игнорировать в отстальных), т.е. заносить это класс исключений в список игнорируемых Language Exceptions глобально - нельзя. Нету ли какого-нибудь хитрого флажка отладчику игнорировать именно это место?


 
Германн ©   (2004-04-13 02:37) [1]

Abort поможет той девушке, которую ты завлек и обманул. Точнее он поможет тебе, а вот у нее могут возникнуть в дальнейшем проблемы. (((


 
NAlexey ©   (2004-04-13 08:25) [2]

Там же где включаешь галку  "Stop on Delphi exceptions" есть список игнорируемых ошибок. Добавь туда свою.


 
Ломброзо ©   (2004-04-13 18:22) [3]

>Германн ©   (13.04.04 02:37) [1]
Я не смог постигнуть всю глубину Вашей мысли. Попробуйте ещё раз.

>NAlexey ©   (13.04.04 08:25) [2]
>т.е. заносить это класс исключений в список игнорируемых >Language Exceptions глобально - нельзя.


 
Andryk ©   (2004-04-13 18:46) [4]

А если попробовать обложит возможное место ошибки проверками и условными операторами? Чтобы этой ошибки и не возникало


 
Гаврила   (2004-04-13 18:59) [5]

Присоединяюсь к предыдущему оратору
Тем более если это исключение вылетает постоянно...


 
Ломброзо ©   (2004-04-13 19:16) [6]

Исключение вылетает с невысокой вероятностью.
Ладно, пример такой. Допустим, некий DataPump делает селект из кучи (неск. десятков) РАЗНОРОДНЫХ таблиц одного источника (DBF, Excel, Access) и вставку в таблицу другой, например, MS SQL/Access. Алгоритм проще не придумаешь (псевдокод)
Qr1.First;
while not Qr1.Eof do
begin
 Qr2.Insert;
 for i := 0 to Qr1.Fields.Count - 1 do
 begin
   Qr2.FieldByName(Qr.Fields[i].Name).Value = Qr.Fields[i].Value;
 end;
 Qr2.Post;
 Qr1.Next;
end;
   
По ряду причин типы одноимённых полей в двух таблицах могут не совпадать: строка, деньги, double, float, int. Ес-но, ошибка обрабатывается в except, но раздражает то, что дебаггер всякий раз там запинается.

Ну ладно, нельзя так нельзя.


 
Cobalt ©   (2004-04-13 19:34) [7]

2 Ломброзо ©   (13.04.04 19:16) [6]
Ну, блин...
А присваивать кокнкретным типом (AsInteger/Float/etc), сделав табличку соответствий типов источника-приёмника?



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
3-1081331841
31512
2004-04-07 13:57
2004.05.02
MIDAS и LookUp


1-1082030140
Layner
2004-04-15 15:55
2004.05.02
Как увеличить размер 2х мерного массива на 1 строку?


1-1082030465
Mol
2004-04-15 16:01
2004.05.02
ComboBox


7-1078326302
Dmitriy_G
2004-03-03 18:05
2004.05.02
Где скачать Windows 2000 DDK?


7-1078495714
Islander
2004-03-05 17:08
2004.05.02
Как определить, установлен ли на компьютере Windows Media Player?