
Bir CUserException , bir son kullanıcı işlemi durdurmak için atılır. CUserException atmak ve catch istisna mekanizması uygulamaya özel durumlar için kullanmak istediğinizde kullanın. Sınıf adı "kullanıcı" "benim kullanıcı ele almak gerekir olağanüstü bir şey yoktu."olarak yorumlanabilir
Bir CUserException , genellikle işlem başarısız olan kullanıcıya bildirmek için AfxMessageBox genel işlevi çağırdıktan sonra atılır. Özel durum işleyici yazarken, özel kullanıcı genellikle zaten hata bildirildi beri özel durumunu işlemesi. Çerçevesinde, bazı durumlarda bu istisna atar. Bir CUserException kendinizi atmak için kullanıcıyı uyarmak ve AfxThrowUserException genel işlevi çağrısı.
Aşağıdaki örnekte, başarısız olabilir işlemleri içeren bir işlev kullanıcıyı uyarır ve CUserExceptionatar. Arama fonksiyonu özel durum yakalar ve özel işleme:
void DoSomeOperation)
{
nbsp; / / İşleme
/ / Bir şey yanlış giderse...
AfxMessageBox ("x işlemi başarısız");
AfxThrowUserException ();
}
bool TrySomething)
{
DE&NEYİN
{
/ / Bir CUserException ya da diğer istisna atmak olabilir.
DoSomeOperation ();
}
catch (CUserException, e)
{
return false; / / Kullanıcı önceden bildirilir.
}
and_catch (CException, e)
{
/ / Kullanıcı burada diğer özel durum türleri için bildir.
AfxMessageBox ("bazı işlem başarısız");
return false;
}
END_CATCH
true döndürür; / / Hiçbir istisna.
}
CUserExceptionhakkında daha fazla bilgi için bkz: yazı özel durumlar Visual c++ programlama Kılavuzu.
# include lt;afxwin.h>
Temel sınıf üyesi |nbsp; Hiyerarşi çizelgesi
Ayrıca bkz: CException, AfxMessageBox, AfxThrowUserException