以下是一个简单的例子:
void YourDocumentClass::ReportSaveLoadException(LPCTSTR lpszPathName, CException* e, BOOL bSaving, UINT nIDPDefault)
{
CString strPrompt;
if (bSaving)
strPrompt.Format(_T("无法保存文件:\n%s"), lpszPathName);
else
strPrompt.Format(_T("无法打开文件:\n%s"), lpszPathName);
// 根据异常类型添加特定错误信息
if (e != NULL)
{
TCHAR szError[1024];
e->GetErrorMessage(szError, _countof(szError));
strPrompt += _T("\n\n");
strPrompt += szError;
}
// 弹出消息框通知用户
AfxMessageBox(strPrompt, nIDPDefault);
// 释放异常对象
if (e != NULL)
e->Delete();
}
在这个例子中,ReportSaveLoadException 方法接收文件路径名、异常对象、保存标志(表示是保存还是加载)、以及默认的资源ID。它构建一个错误信息字符串,将其显示给用户,并最终释放异常对象。
请注意,这只是一个通用的示例,具体的实现可能取决于你的应用程序的要求和逻辑。
转载请注明出处:http://www.pingtaimeng.com/article/detail/17530/MFC/CDocument