Compartir a través de


Clase CUserException

Se inicia para detener una operación de usuario final.

Sintaxis

class CUserException : public CSimpleException

Comentarios

Use CUserException cuando desee usar el mecanismo de excepción throw/catch para excepciones específicas de la aplicación. "User" en el nombre de clase se puede interpretar como "mi usuario hizo algo excepcional que necesito controlar".

Normalmente se produce una excepción CUserException después de llamar a la función global AfxMessageBox para notificar al usuario que se ha producido un error en una operación. Cuando escribe un controlador de excepciones, controle la excepción de forma especial, ya que el usuario normalmente ya ha sido notificado del error. El marco produce esta excepción en algunos casos. Para generar un CUserException, avise al usuario y, a continuación, llame a la función global AfxThrowUserException.

En el ejemplo siguiente, una función que contiene operaciones que pueden producir error alerta al usuario y genera una excepción CUserException. La función de llamada detecta la excepción y la controla de forma especial:

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.
}

Para más información sobre el uso de CUserException, consulte el artículo Control de excepciones (MFC).

Jerarquía de herencia

CObject

CException

CSimpleException

CUserException

Requisitos

Encabezado: afxwin.h

Consulte también

Gráfico de jerarquías
CException (clase)