Я бы хотел поймать и обработать исключение блоком try-catch приложения верхнего уровня, а не внутри обработчиков страниц листа свойств (например, обработчик OnInitDialog). Таким образом, в приведенном ниже коде эти исключения должны обрабатываться в блоке catch (...).
try {
CMyPropertySheet sheet;
sheet.DoModal();
} catch (...) {
// i want to handle an exception here
}
Однако, когда OnInitDialog генерирует исключение, появляется утверждение (в режиме отладки) после запуска деструкторов Windows. Даже если я вызову EndDialog (m_hWnd, IDCANCEL) в деструкторе CMyPropertySheet, утверждение остается. Не могли бы вы помочь определить, что пропало или нет? Я использую WTL. Моя таблица свойств claa является производной от CPropertySheetImpl.
Спасибо.