Hi Konstantin R. Beliaev !
KRB> А куда по-твоему он еще может попасть? Raise выкидывает
KRB> exception на более верхний уровень, которым для твоего
KRB> треда является уровень Application, т.е. основной поток
KRB> VCL, который перехватывает все ошибки подряд
Что значит "перехватывает" ????
Простой тест:
1. Главная форма, ОнБатнКлик:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
try
{
MessageBox(0,"BeforeThreadCreate","Main",MB_OK);
new TTestThread(0);
Sleep(5000);
MessageBox(0,"AfterThreadCreate","Main",MB_OK);
}
catch(...) // для пущей важности
{
MessageBox(0,"Exception !","Main",MB_OK);
}
}
2. Дополнительный поток:
void __fastcall TTestThread::Execute()
{
int a=0;
MessageBox(0,"Before","Thread",MB_OK);
int b=1/a;
MessageBox(0,"After","Thread",MB_OK);
}
//---------------------------------------------------------------------------
поток тихо вылетает, никаких ошибок не "перехватывается"
--