Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
Ломброзо ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.035 c
1-1081758981
Dima S
2004-04-12 12:36
2004.05.02
StringGrid


1-1082109547
Andre____
2004-04-16 13:59
2004.05.02
Label с многоточием


3-1080953066
olhovik
2004-04-03 04:44
2004.05.02
База данных


8-1075711384
Thick
2004-02-02 11:43
2004.05.02
RGB


1-1082039788
Ivolg
2004-04-15 18:36
2004.05.02
Create object





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский