CUserException クラス
エンド ユーザーの操作を中止するためにスローします。
構文
class CUserException : public CSimpleException
解説
アプリケーション固有の例外に対して throw/catch 例外メカニズムを使用する場合は、 CUserException
を使用します。 クラス名の "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
の使用方法の詳細については、Exception Handling (MFC) に関する記事を参照してください。
継承階層
CUserException
要件
ヘッダー: afxwin.h