プロパティ シート ページのハンドラー (たとえば、OnInitDialog ハンドラー) 内ではなく、最上位アプリケーションの try-catch ブロックによって例外をキャッチして処理したいと考えています。したがって、以下のコードでは、これらの例外は catch (...) ブロックで処理されることになっています。
try {
CMyPropertySheet sheet;
sheet.DoModal();
} catch (...) {
// i want to handle an exception here
}
ただし、OnInitDialog が例外をスローすると、Windows デストラクタの実行後に (デバッグ モードで) アサートが表示されます。CMyPropertySheet デストラクタで EndDialog(m_hWnd, IDCANCEL) を呼び出しても、アサートは残ります。不足しているものや間違っているものを検出するのを手伝っていただけますか? WTLを使用しています。私のプロパティ シート claa は、CPropertySheetImpl から派生しています。
ありがとう。