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

Вниз

Обработка ошибок(Исключений)   Найти похожие ветки 

 
ElectriC ©   (2007-03-07 15:18) [0]

Есть исходный текст:
try
 Line[1]
 Line[2]
 Line[3]
 Line[4]
except
 on Ошибка do
end;

Предположим что при выполнении строки Line[2] произошла ошибка,
тогда программа не будет выполнять строки Line[3], Line[4].

Как сделать так, чтобы когда происходила на строке, допустим, Line[2], программа могла обработать
ошибку и вернуться к выполнению строки Line[3], Line[4]...?


 
Аноним   (2007-03-07 15:42) [1]

Line[1]
try
 Line[2]
 except
  on Ошибка do
 end;
Line[3]
Line[4]


 
ElectriC ©   (2007-03-07 16:38) [2]

А если Line[3] и Line[4], возможно, могут содержать ошибки?


 
Плохиш ©   (2007-03-07 16:40) [3]


> ElectriC ©   (07.03.07 16:38) [2]

А догадаться, что каждую строку нужно обернуть в try..except так трудно?


 
ElectriC ©   (2007-03-07 16:42) [4]

А если этих строк штук 50? Не хочется загромождать код!


 
NiGGa[lHbs]   (2007-03-07 16:48) [5]

тогда не оборачивай все в try..except


 
ElectriC ©   (2007-03-07 16:51) [6]

А если Line[3] и Line[4]..., возможно, могут содержать ошибки?


 
clickmaker ©   (2007-03-07 16:52) [7]

в цикл вошли?


 
Leonid Troyanovsky ©   (2007-03-07 16:54) [8]


> ElectriC ©   (07.03.07 16:51) [6]

> А если Line[3] и Line[4]..., возможно, могут содержать ошибки?

Строки, содержащие ошибки, лучше сразу удалить.

--
Regards, LVT.


 
NiGGa[lHbs]   (2007-03-07 16:55) [9]

Ну еще есть парочка вариантов:
1: зделать так, что бы Line[3] и Line[4] не содержали ошибок, и никаких компромисов или "возможно"
2: реализовать интерпретацию с оборачиванием в try..except
3: свой вариант


 
ElectriC ©   (2007-03-07 16:57) [10]

Строки, содержащие ошибки, лучше сразу удалить.
А если они нужны для работы программы?


 
nigga ©   (2007-03-07 17:03) [11]

Если выполнения последующих строк не зависит от результата выполнения предидущих, то оборачивать каждую в try..except, и это не загромождение кода.


 
Плохиш ©   (2007-03-07 17:04) [12]


> Строки, содержащие ошибки, лучше сразу удалить.
> А если они нужны для работы программы?

Рыдал...

Ещё один сантехник в прогеры подался...


 
ElectriC ©   (2007-03-07 17:07) [13]

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


 
Leonid Troyanovsky ©   (2007-03-07 17:11) [14]


> ElectriC ©   (07.03.07 16:57) [10]

> Строки, содержащие ошибки, лучше сразу удалить.
> А если они нужны для работы программы?

Сомневаюсь, что проект нуждается в строках, содержащих ошибки :)

Ну, ладно, так и быть скажу.
На самом деле, за line1..lineN должны стоять вызовы процедур,
каждая из которых включает блок try..except.. end, обученный
справляться с исключениями определенного рода.
Т.е., если обработчик встретил знакомое исключение, и знает,
как с ним справиться без ущерба для дальнейшего выполнения,
то он молча его обрабатывает.
Если встретилось незнакомое исключение - оно пропускается, а
если возникшее исключение известно обработчику как недопустимое
для дальнейшего выполнения, то в обработчике делается reraise
(к начальному исключению добавляется префикс этого обработчика).

Вот, собс-но, примерно так.

--
Regards, LVT.


 
Плохиш ©   (2007-03-07 17:11) [15]


> Толкового ничего не мог написать?

Толковое уже было написано, но индивидумам без логики оно не помогло...


 
Сергей М. ©   (2007-03-07 17:16) [16]


> ElectriC


Т.е. ты желаешь видеть в Делфи некий механизм обработки ошибок а-ля васиковый On Error Resume Next ?


 
ElectriC ©   (2007-03-07 17:39) [17]

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


 
ElectriC ©   (2007-03-07 17:41) [18]


> Т.е. ты желаешь видеть в Делфи некий механизм обработки
> ошибок а-ля васиковый On Error Resume Next ?

ДА!


 
ElectriC ©   (2007-03-07 17:42) [19]

Thanks, Leonid Troyanovsky!


 
clickmaker ©   (2007-03-07 17:43) [20]


> [18] ElectriC ©   (07.03.07 17:41)
> ДА!

может борланд попросить? Написать им мол "теряете ценного клиента, срочно вводите фичу"
или писать на васике?


 
ElectriC ©   (2007-03-07 17:51) [21]

Лана! Закрыли эту тему: про васик и про Borland и про try...except...end!))))))))))))))))
P.S.
> может борланд попросить? Написать им мол "теряете ценного
> клиента, срочно вводите фичу"или писать на васике?

Лучше CodeGear!)))


 
Anatoly Podgoretsky ©   (2007-03-07 20:14) [22]

> ElectriC  (07.03.2007 16:57:10)  [10]

> Строки, содержащие ошибки, лучше сразу удалить.
> А если они нужны для работы программы?

Строки с ошибками не нужны для работы программы!



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

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

Наверх




Память: 0.49 MB
Время: 0.043 c
15-1175965637
GeLLeR
2007-04-07 21:07
2007.05.06
Вопрос про Висту


2-1176528655
Гость у мастеров
2007-04-14 09:30
2007.05.06
ActiveX. начало


2-1176788211
Ega23
2007-04-17 09:36
2007.05.06
PlaySound - просветите


1-1173257292
tytus
2007-03-07 11:48
2007.05.06
Как перевести %USERPROFILE% - в C: Documents and Settings ...


1-1173696942
Novice
2007-03-12 13:55
2007.05.06
Файловая система, получение информации





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