CUserException クラス

エンド ユーザーの操作を中止するためにスローします。

構文

class CUserException : public CSimpleException

解説

アプリケーション固有の例外に対して throw/catch 例外メカニズムを使用する場合に使用 CUserException します。 クラス名の "User" は、"ユーザーが処理する必要がある例外的な操作を行いました" と解釈できます。

A 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 クラス