Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обработка ошибок(Исключений) [D7]


Страницы:   1 2

ElectriC ©   (2007-03-07 15:18:00) 

Есть исходный текст:
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]...?


Anatoly Podgoretsky   (2007-03-07 20:14:00) [1]

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

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

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


ElectriC   (2007-03-07 17:51:00) [2]

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

Лучше CodeGear!)))


clickmaker   (2007-03-07 17:43:00) [3]


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

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


ElectriC   (2007-03-07 17:42:00) [4]

Thanks, Leonid Troyanovsky!


ElectriC   (2007-03-07 17:41:00) [5]


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

ДА!


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

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


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


> ElectriC


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


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


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

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


Leonid Troyanovsky   (2007-03-07 17:11:00) [9]


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

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

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

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

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

--
Regards, LVT.


ElectriC   (2007-03-07 17:07:00) [10]

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


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


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

Рыдал...

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


nigga   (2007-03-07 17:03:00) [12]

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


ElectriC   (2007-03-07 16:57:00) [13]

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


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

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


Leonid Troyanovsky   (2007-03-07 16:54:00) [15]


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

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

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

--
Regards, LVT.


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

в цикл вошли?


ElectriC   (2007-03-07 16:51:00) [17]

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


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

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


ElectriC   (2007-03-07 16:42:00) [19]

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


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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо