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) 一文。

继承层次结构

CObject

CException

CSimpleException

CUserException

要求

标头:afxwin.h

另请参阅

层次结构图
CException 类