CUserException选件类

引发终止最终用户操作。

class CUserException : public CSimpleException

备注

如果要为特定的异常时,使用引发或捕获异常框架使用 CUserException。" 用户”类名的可被解释“我的用户执行我需要处理异常的操作”。

CUserException 在调用全局函数后 AfxMessageBox 通知用户就会引发操作失败。 当您编写异常处理程序,处理特殊的异常,因为用户已经通常是通知该失败。 框架在某些情况下引发此异常。 引发 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选件类

AfxMessageBox

AfxThrowUserException

其他资源

如何:我创建"我的自定义异常选件类?