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)一文。
繼承階層架構
CUserException
需求
標題: afxwin.h