CUserException クラス

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

構文

class CUserException : public CSimpleException

解説

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

通常、は、 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 クラス