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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
3-1171378156
dest81
2007-02-13 17:49
2007.05.06
ib и удаленный доступ


1-1173444096
ElectriC
2007-03-09 15:41
2007.05.06
Липкие диалоги


2-1176786168
s.k
2007-04-17 09:02
2007.05.06
положение чужого окна


1-1173602376
Makhanev Alexander
2007-03-11 11:39
2007.05.06
Диалог выбора пользователя....


15-1175974828
Kostafey
2007-04-07 23:40
2007.05.06
Прозрачность иконок и SpeedButton