Я зарегистрировал три обработчика с парсером expat: - start -end - text
И из основной программы я читаю файл xml, буферизую его и вызываю API XML_Parse.Примерно так:
try {
if( ! XML_Parse (....))
{
// throw user-defined expection here
}
catch(...)
{
}
} // end of try
catch(...)
{
}
Если XML_Parse возвращает 0 при сбое, изнутри выдается исключение if.И он перехватывается во внутреннем блоке перехвата.
Вот мой вопрос: если пользовательское исключение выдается из любого из обработчиков во время синтаксического анализа, будет ли это перехвачено во внешнем перехвате?
Если да, это на самом деле не происходит в моем коде.Вместо этого он выгружает ядро, а стек показывает, что throw приводит к std: terminate.Нужно ли выполнять что-то еще, прежде чем выдавать исключения от HANDLERS.
Спасибо.