
CUserException ÃÖÁ¾ »ç¿ëÀÚ ÀÛ¾÷À» ÁßÁö ÇÏ·Á¸é throw µË´Ï´Ù. CUserException ¸¦ »ç¿ë ÇÏ ¿© ÀÀ¿ë ÇÁ·Î±×·¥º° ¿¹¿Ü throw/catch ¿¹¿Ü ¸ÞÄ¿´ÏÁòÀ» »ç¿ë Çϵµ·Ï ÇÒ ¼ö ÀÖ½À´Ï´Ù. Ŭ·¡½º À̸§¿¡ "»ç¿ëÀÚ"´Â "³» »ç¿ëÀÚ ¶Ù¾î³ ó¸®ÇÒ Çʿ䰡 ¹º°¡ ¾Ê¾Ò´Ù."·Î ÇØ¼® µÉ ¼ö ÀÖ´Ù
CUserException ÀÛ¾÷ÀÌ ½ÇÆÐ Çß½À´Ï´Ù »ç¿ëÀÚ¿¡ °Ô ¾Ë¸®·Á¸é AfxMessageBox Àü¿ª ÇÔ¼ö¸¦ È£ÃâÇÑ ÈÄ ÀϹÝÀûÀ¸·Î throw µË´Ï´Ù. ¿¹¿Ü 󸮱⸦ ÀÛ¼º ÇÏ´Â °æ¿ì »ç¿ëÀÚ ÀϹÝÀûÀ¸·Î ÀÌ¹Ì ¿Ô´Ù Å뺸 Çß´Ù ½ÇÆÐ ¶§¹®¿¡ Ưº°È÷ ¿¹¿Ü¸¦ ó¸® ÇÕ´Ï´Ù. ÇÁ·¹ÀÓ ¿öÅ©´Â ¾î¶² °æ¿ì¿¡ÀÌ ¿¹¿Ü¸¦ throwÇÕ´Ï´Ù. CUserException ¸¦ ´øÁ®, »ç¿ëÀÚ °æ°í ¹× ´ÙÀ½ AfxThrowUserException Àü¿ª ÇÔ¼ö È£Ãâ¡£
¾Æ·¡ ¿¹Á¦¿¡¼ ½ÇÆÐÇÒ ¼ö ÀÖ´Â ÀÛ¾÷À» Æ÷ÇÔ ÇÏ´Â ÇÔ¼ö¸¦ »ç¿ëÀÚ¿¡ °Ô °æ°í ÇÏ °í CUserExceptionÀ» throw. È£Ãâ ÇÏ´Â ÇÔ¼ö´Â ¿¹¿Ü¸¦ catch ÇÏ °í Ưº°È÷ ó¸®:
void DoSomeOperation)
{
nbsp;? / / ó¸®
?? / / ¸¸¾à ¹º°¡ À߸ø µÇ ¸é...
?? AfxMessageBox ("x ÀÛ¾÷¿¡ ½ÇÆÐ Çß½À´Ï´Ù.");
?? AfxThrowUserException ();
}
BOOL TrySomething)
{
?? ½Ãµµ
?? {
?????? / /¸¦ CUserException ¶Ç´Â ´Ù¸¥ ¿¹¿Ü¸¦ ´ø Áú ¼ö ÀÖ´Ù.
?????? DoSomeOperation ();
?? }
?? CATCH (CUserException, e)
?? {
?????? FALSE; ¹Ýȯ??? / / »ç¿ëÀÚ ÀÌ¹Ì Å뺸.
?? }
?? AND_CATCH (CException, e)
?? {
?????? / / ´Ù¸¥ ¿¹¿Ü Çü½Ä¿¡ ´ë ÇÑ ¿©±â »ç¿ëÀÚ ¾Ë¸².
?????? AfxMessageBox ("ÀϺΠÀÛ¾÷ÀÌ ½ÇÆÐ Çß½À´Ï´Ù.");
?????? FALSE; ¹Ýȯ
?? }
?? END_CATCH
?? TRUE¸¦ ¹Ýȯ ÇÕ´Ï´Ù.?? / / ¿¹¿Ü°¡ ¹ß»ý ÇÕ´Ï´Ù.
}(&N)
CUserException¸¦ »ç¿ë ÇÏ ¿© ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ À¥ »çÀÌÆ®¸¦ ÂüÁ¶ ÇϽʽÿÀ. ¹®¼ Visual c + + ÇÁ·Î±×·¡¸Ó °¡ÀÌµå ¿¡¼ ¿¹¿Ü¡£
# include lt;afxwin.h>
±âº» Ŭ·¡½º ¸â¹ö |nbsp; °èÃþ ±¸Á¶ Â÷Æ®(&N)
Âü°í Ç׸ñnbsp;CException, AfxMessageBox, AfxThrowUserException(&N)