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

Вниз

Как при отлове ошибки в try...except выскочить в определённое м.   Найти похожие ветки 

 
Zhekson   (2004-11-24 15:45) [0]

При обработке кучи файлов в блоке try...except отлавливаю ошибку. Как перейти к обработке следующего файла?

Goto - не помогает.


 
Amoeba ©   (2004-11-24 15:47) [1]

Заключай в try...except обработку КАЖДОГО файла по отдельности, а не всей кучи.


 
Zhekson   (2004-11-24 15:58) [2]


while not Eof(fpc) do
 begin
................................
 for i := 1 to 37 do
  begin
   try
   data[i] := data[i] / count - ped[i] * 0.1;
   except
    on EInvalidOp do
       begin
        Beep();
        MessageDlg("???"), mtWarning, [mbOk], 0);
        GoTo N1; //типа за конец обработки файла
       end
    end;
   aver1 := aver1 + data[i];
  end;
........................................
 end;


всмысле у меня try...Except не глобальный отлов ошибок во всей обработке, а при обработке конкретного файла, конкретного действия.


 
Anatoly Podgoretsky ©   (2004-11-24 16:07) [3]

N1 не наблюдается.


 
Zhekson   (2004-11-24 16:15) [4]

Метки в таких случаях вообще нельзя использовать:

The GOTO statement cannot jump into or out of an exception handling statement.

Может есть другой способ?


 
Anatoly Podgoretsky ©   (2004-11-24 16:17) [5]

Они и не нужны, но ты не показываешь где ты хочешь оказаться, вот и не наблюдается.


 
Digitman ©   (2004-11-24 16:19) [6]


> Как перейти к обработке следующего файла?


при чем здесь "файл" ?


 
Zhekson   (2004-11-24 16:40) [7]

[5]> оказаться хочу между
(закончил обработку этого файла) и (пора приступить к обработке следующего)

[6]> впринципе не при чём... но и вопрос ведь не про файлы...

просто нужно при отлове ошибки скакнуть за пределы блока try...except


 
Zhekson   (2004-11-24 16:40) [8]

Удалено модератором


 
Anatoly Podgoretsky ©   (2004-11-24 16:47) [9]

(закончил обработку этого файла) и (пора приступить к обработке следующего) тоже не наблюдается


 
Rem ©   (2004-11-24 16:48) [10]

>>просто нужно при отлове ошибки скакнуть за пределы блока try...except в нужную позицию

Посмею предложить разместить "нужную позицию" сразу же за "блоком try...except".


 
Zhekson   (2004-11-24 16:57) [11]

Rem [10]>
мне такой вариант не подходит, потому как за try...except находится обработка, которая не имеет смысла, если отловлена ошибка.


 
Плохиш ©   (2004-11-24 16:59) [12]

Вместо goto xxx Continue.


 
wal ©   (2004-11-24 17:01) [13]

Zhekson   (24.11.04 16:57) [11]
Ну и заноси, все, что не имеет смысла при ошибке, под try, при ошибке оно выполнено не будет.


 
Digitman ©   (2004-11-24 17:08) [14]


> Zhekson   (24.11.04 16:57) [11]
> мне такой вариант не подходит, потому как за try...except
> находится обработка, которая не имеет смысла, если отловлена
> ошибка.


"Вы не любите кошек ? да Вы просто не умеете их готовить !" (С)


 
Zhekson   (2004-11-24 17:12) [15]

Плохиш [12]>
не то..., так я вылетаю только из try...except...

хотя потом возможны варианты...

пробую...


 
Плохиш ©   (2004-11-24 17:16) [16]


> Zhekson   (24.11.04 17:12) [15]
> Плохиш [12]>
> не то..., так я вылетаю только из try...except...

А справку по Continue почитать?


 
Sandman25 ©   (2004-11-24 17:17) [17]

while ... do
 try
   LoadFile;
   ProcessFile;
 except
   ShowMessage(...);
 end;


 
Digitman ©   (2004-11-24 17:19) [18]

ДЛЯ очередного_файла ДЕЛАТЬ
 ТРАЙ
   чего тоей душеньке угодно
 ИКЗЭПТ
 ЭНД

ЧТО сложного или непонятного в такой банальнейшей логике ?


 
Zhekson   (2004-11-24 17:39) [19]

Плохиш [12]>
есть контакт. спасибочки.

Digitman[14]>
"Чёж не умею???, умею, только у меня рецепт с которым Вы не знакомы !" (C)


 
Digitman ©   (2004-11-24 18:06) [20]


> Zhekson   (24.11.04 17:39) [19]


а ! ну да, конечно же ! как я забыл-то, лапоть



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

Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.037 c
1-1100659587
uses-mind.dll
2004-11-17 05:46
2004.12.05
как настроить дэльфи на удаление собственного мусора ?


10-1068639069
val_5
2003-11-12 15:11
2004.12.05
TDataSetProvider.OnUpdateError


1-1100861678
Dolphin001
2004-11-19 13:54
2004.12.05
msEquation


3-1099568570
SergP
2004-11-04 14:42
2004.12.05
DBGRID. Узнать State для остальных ячеек строки в DrawColumnCell


1-1101041323
Keiko
2004-11-21 15:48
2004.12.05
MoveFile





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский