"Konstantin R. Beliaev" ...
>
> Vlad Horsun wrote:
> >     Откуда дровишки ?
>
> Из хелпа по try...except, вестимо:
> ---
> If an exception is raised during execution of the initial statements
> list, either by a raise statement in the statements list or by a
> procedure or function called from the statements list, an attempt is
> made to "handle" the exception:
>
> * If any of the handlers in the exception block matches the exception,
> control passes to the first such handler. An exception handler "matches"
> an exception just in case the type in the handler is the class of the
> exception or an ancestor of that class.
> * If no such handler is found, control passes to the statement in the
> else clause, if there is one.
> * If the exception block is just a sequence of statements without any
> exception handlers, control passes to the first statement in the list.
>
> If none of the conditions above is satisfied, the search continues in
> the exception block of the next-most-recently entered try...except
> statement that has not yet exited. If no appropriate handler, else
> clause, or statement list is found there, the search propagates to the
> next-most-recently entered try...except statement, and so forth. If the
> outermost try...except statement is reached and the exception is still
> not handled, the program terminates.
> ---

    Подымите мне веки (с) - где тут хоть слово про потоки ?

> А куда по-твоему он еще может попасть?

    В код OS, который запускает потоки, вестимо. И именно там и
убивается такое приложение. OS'у них не известно про Application,
VLC, etc

> Raise выкидывает exception на
> более верхний уровень, которым для твоего треда является уровень
> Application, т.е. основной поток VCL,

    С какой стати ?

> который перехватывает все ошибки
> подряд (если, конечно ты не отрубил его обработчик ;-) )
>
> PS. Учите матчасть, коллега ;-)

    Читайте про стек вызовов, вьюноша, и не фантазируйте на ночь :-P

--
Хорсун Влад


Ответить