Exceptions
2 отговора
132 прегледа
Exceptions
Здравейте,
Може ли до ми обясните :
опитвам се да прихвана грешки с try...except..end; и съответно да ги обработя. Например от клас EStringListError - това са изключения свързани с невалидни индекси в списъци.
Когато възникне грешка, тя се прихваща и аз знам за нея съобщението(Message).
Но то често е различно (в случая може да е List index out of bounds или String List Does not allow dublicates .... ) и съответно обработката на грешката също би трябвало да е различна.
Та въпросът ми е : Как в Delphi това може да стане, след като например EStringListError е цяло множество от изключения , а аз мога да напиша само
On E:EStringListError Do ....
Имам предвид, че с тази конструкция прихващам цял клас изключения, но не точно кое е изключението....
Оф, не знам дали бях напълно ясен... но това е което можах да измисля. :)
Мишо.
Може ли до ми обясните :
опитвам се да прихвана грешки с try...except..end; и съответно да ги обработя. Например от клас EStringListError - това са изключения свързани с невалидни индекси в списъци.
Когато възникне грешка, тя се прихваща и аз знам за нея съобщението(Message).
Но то често е различно (в случая може да е List index out of bounds или String List Does not allow dublicates .... ) и съответно обработката на грешката също би трябвало да е различна.
Та въпросът ми е : Как в Delphi това може да стане, след като например EStringListError е цяло множество от изключения , а аз мога да напиша само
On E:EStringListError Do ....
Имам предвид, че с тази конструкция прихващам цял клас изключения, но не точно кое е изключението....
Оф, не знам дали бях напълно ясен... но това е което можах да измисля. :)
Мишо.
Re: Exceptions
Ми прегледай две неща:
1) Хелпа на try
try
...
except
on E: Exception do ErrorDialog(E.Message, E.HelpContext);
end;
2) [линк]
чети и дишай по-леко
1) Хелпа на try
try
...
except
on E: Exception do ErrorDialog(E.Message, E.HelpContext);
end;
2) [линк]
чети и дишай по-леко
Re: Exceptions
Здрасти,
Разбира се , възможно е и да не съм прочел всичко, но си мисля, че не си ме разбрал правилно.
Първо - Аз не искам да изкарам съобщение за грешка.. просто искам алгоритъма да тръгне по друг клон при възникване на изключение.
Второ - В моя случай класът ЕStringListError покрива едни куп изключения.... как да разбера кое точно изключение от тоя клас е възникнало - само от Е.Message ли?
Както и да е , аз май намерих някакво решение на проблема, но все пак би ми било интересно да го разясня и това.
Благодаря за линка.
Всичко добро.
Мишо.
Разбира се , възможно е и да не съм прочел всичко, но си мисля, че не си ме разбрал правилно.
Първо - Аз не искам да изкарам съобщение за грешка.. просто искам алгоритъма да тръгне по друг клон при възникване на изключение.
Второ - В моя случай класът ЕStringListError покрива едни куп изключения.... как да разбера кое точно изключение от тоя клас е възникнало - само от Е.Message ли?
Както и да е , аз май намерих някакво решение на проблема, но все пак би ми било интересно да го разясня и това.
Благодаря за линка.
Всичко добро.
Мишо.