Exceptions

2 отговора 132 прегледа
#1

Exceptions

Здравейте,

Може ли до ми обясните :
опитвам се да прихвана грешки с try...except..end; и съответно да ги обработя. Например от клас EStringListError - това са изключения свързани с невалидни индекси в списъци.
Когато възникне грешка, тя се прихваща и аз знам за нея съобщението(Message).
Но то често е различно (в случая може да е List index out of bounds или String List Does not allow dublicates .... ) и съответно обработката на грешката също би трябвало да е различна.

Та въпросът ми е : Как в Delphi това може да стане, след като например EStringListError е цяло множество от изключения , а аз мога да напиша само
On E:EStringListError Do ....

Имам предвид, че с тази конструкция прихващам цял клас изключения, но не точно кое е изключението....

Оф, не знам дали бях напълно ясен... но това е което можах да измисля. :)


Мишо.

Отговор
в отговор на Misho #2

Re: Exceptions

Ми прегледай две неща:
1) Хелпа на try
try

...
except
on E: Exception do ErrorDialog(E.Message, E.HelpContext);
end;
2) [линк]

чети и дишай по-леко
Отговор
в отговор на Pechenia #3

Re: Exceptions

Здрасти,
Разбира се , възможно е и да не съм прочел всичко, но си мисля, че не си ме разбрал правилно.
Първо - Аз не искам да изкарам съобщение за грешка.. просто искам алгоритъма да тръгне по друг клон при възникване на изключение.
Второ - В моя случай класът ЕStringListError покрива едни куп изключения.... как да разбера кое точно изключение от тоя клас е възникнало - само от Е.Message ли?
Както и да е , аз май намерих някакво решение на проблема, но все пак би ми било интересно да го разясня и това.

Благодаря за линка.
Всичко добро.
Мишо.

Отговор