CUserException 类
引发后将终止最终用户操作。
语法
class CUserException : public CSimpleException
备注
当想要对特定于应用程序的异常使用引发/捕获异常机制时使用 CUserException
。 类名中的“User”可以解释为“我的用户执行了需要处理的特殊操作”。
调用全局函数 AfxMessageBox
以通知用户操作失败后,通常会引发 CUserException
。 编写异常处理程序时,请专门处理异常,因为用户通常已收到失败通知。 在某些情况下,框架会引发此异常。 若要引发 CUserException
自身,请提醒用户,然后调用全局函数 AfxThrowUserException
。
在下面的示例中,包含可能失败的操作的函数会提醒用户,并引发 CUserException
。 调用函数会捕获异常并特别处理该异常:
void DoSomeOperation()
{
// Processing
// If something goes wrong...
AfxMessageBox(_T("The x operation failed"));
AfxThrowUserException();
}
BOOL TrySomething()
{
try
{
// Could throw a CUserException or other exception.
DoSomeOperation();
}
catch (CUserException* pe)
{
pe->Delete();
return FALSE; // User already notified.
}
catch (CException* pe)
{
// For other exception types, notify user here.
pe->ReportError();
return FALSE;
}
return TRUE; // No exception thrown.
}
有关使用 CUserException
的详细信息,请参阅异常处理 (MFC) 一文。
继承层次结构
CUserException
要求
标头:afxwin.h