Hm. Wszyscy macie swoją rację. Ja nie twierdzę, że nie da się (chociaż same Access Violations), zwykle nie miałem - jak miałem - to wiedziałem, że coś nie tak z lokalizacją obiektów (albo kompilacją) i zwykle po poprawkach ten problem znikał. Mam jeden przypadek gdzie pomimo, iż jest w kodzie (delphi), w bibliotece - komenda raise i to jest przechwycone (nieaktywne). Inne miejsce tego samego systemu "reaguje" na wystąpienie raise. Pisząc na grupie myślałem, że pomimo iż w delphi piszę od ponad 20lat, to jednak czegoś nie wiem. Nie ma ludzi doskonałych.
Natomiast sprawa wygląda następująco:
Dowolny wyjątek, prawie zawsze da się przechwycić i ja to wiem. Są drobne wyjątki problemów gdzie tego nie da się zrobić ale każdy kto programuje w Delphi wie o co chodzi.
a same użycie sekwencji :
powoduje ominięcie pewnego bloku wykonania, odpowiedzialnego za pewną grupę czynności. Ominięcie - czyli niewykonanie. A tu nie o to chodzi. Chodzi o dezaktywację "polecenia RAISE".
Na początku swojego wątku wyraźnie zaznaczyłem, że wiem o tej sekwencji try ... except end i jaki chcę osiągnąć efekt. Sama biblioteka o której wspomniałem ma się dobrze i nie jest dla mnie nieznana. Wiem co w niej siedzi, i to co tam zawiera polecenie "raise" jest potrzebne w każdym innym przypadku (dlatego nie chcę zmieniać biblioteki). Chcę tylko wprowadzić jeszcze jeden punkt (opracowanie jest zespołowe), wyjątek - odstępstwo od uruchomienia polecenia RAISE.
NImniejszym chyba można uznać, że temat nie ma rozwiazania - i muszę szukać dalej...
Dziękuję za pomoc i pozdrawiam serdecznie.
try except on ExceptionB
, które nie złapałoby Ciraise ExceptionA
.