ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡
ÉîÈëdz³öMFCµÚ2°æ(PDF¸ñʽ)-µÚ26²¿·Ö
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿! Èç¹û±¾ÊéûÓÐÔĶÁÍ꣬ÏëÏ´μÌÐø½Ó×ÅÔĶÁ£¬¿ÉʹÓÃÉÏ·½ "Êղص½ÎÒµÄä¯ÀÀÆ÷" ¹¦ÄÜ ºÍ "¼ÓÈëÊéÇ©" ¹¦ÄÜ£¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Õâ¸ö³ÌÐòÓëRTTI¡¡Ïà¹ØµÄµØ·½ÓÐÈý¸ö£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡£¡¡±àÒëʱÐèÑ¡ÓÃ/GR¡¡Ñ¡Ï/GR¡¡¡¡µÄÒâ˼ÊÇenable¡¡C£«£«¡¡RTTI£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡£¡¡°üº¬typeinfo¡£h¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡£¡¡ÐµÄtypeid¡¡ÔËËã×Ó¡£ÕâÊÇÒ»¸ö¶àÔØ£¨overloading£©ÔËËã×Ó£¬¶àÔصÄÒâ˼¾ÍÊÇÓµ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÐÒ»¸öÒÔÉϵÄÐÍʽ£¬Äã¿ÉÒÔÏëÏóÄÇÊÇÒ»ÖÖ¾²Ì¬µÄ¶à̬£¨Polymorphism£©¡£typeid¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄ²ÎÊý¿ÉÒÔÊÇÀà±ðÃû³Æ£¨Èç±¾Àý#58¡¡×󣩣¬Ò²¿ÉÒÔÊǶÔÏóÖ¸Õ루Èç±¾Àý#58¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓÒ£©¡£Ëü´«»ØÒ»¸ötype_info&¡£type_info¡¡ÊÇÒ»¸öÀà±ð£¬¶¨ÒåÓÚtypeinfo¡£h¡¡¡¡ÖУº¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡class¡¡type_info¡¡£û¡¡
94¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡157¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡public£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡virtual¡¡~type_info£¨£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡operator==£¨const¡¡type_info&¡¡rhs£©¡¡const£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡operator£¡=£¨const¡¡type_info&¡¡rhs£©¡¡const£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡int¡¡before£¨const¡¡type_info&¡¡rhs£©¡¡const£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const¡¡char*¡¡name£¨£©¡¡const£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡const¡¡char*¡¡raw_name£¨£©¡¡const£»¡¡
¡¡¡¡¡¡¡¡¡¡private£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¡¡¡£¡£¡¡
¡¡¡¡¡¡¡¡¡¡£ý£»¡¡
¡¡¡¡¡¡¡¡ËäÈ»Visual¡¡C£«£«¡¡±àÒëÆ÷×Ô´Ó4¡£0¡¡°æÒѾ֧³ÖRTTI¡¡£¬µ«MFC¡¡4¡£x¡¡²¢Î´Ê¹ÓñàÒëÆ÷µÄÄÜÁ¦¡¡
¡¡¡¡¡¡¡¡Íê³ÉÆä¶ÔRTTI¡¡¡¡µÄÖ§³Ö¡£MFC¡¡ÓÐ×Ô¼ºÒ»Ì×ÑØÓÃÒѾõİ취£¨´Ó1¡£0¡¡°æ¾Í¿ªÊ¼ÁË£©¡£à¸£¬¡¡
¡¡¡¡¡¡¡¡²»ÒªÒòΪMFC¡¡¡¡µÄ×÷·¨ÌØÊâ¶ø·ÇÄÑËü£¬ÏëÏë¿´ËüµÄÓƾÃÀúÊ·¡£¡¡
¡¡¡¡¡¡¡¡MFC¡¡¡¡µÄRTTI¡¡ÄÜÁ¦Ç£³¶µ½Ò»×é·Ç³£ÉñÃصĺ꣨¡¡DE¡¡CLARE_D¡¡YNAMIC¡¡¡¡¡¢¡¡
¡¡¡¡¡¡¡¡IMPLEMENT¡¡¡¡D¡¡YNAMIC¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CRuntimeClass¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MFC¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©ºÍÒ»¸ö·Ç³£ÉñÃصÄÀà±ð£¨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©¡£¡¡¡¡¡¡¡¡¡¡³ÌÐòÔ±¶¼Öª¡¡
¡¡¡¡¡¡¡¡µÀÔõôÓÃËü£¬È´Ã»¼¸¸öÈ˶®µÃÆäÔË×÷ÔÀí¡£´óµÀ²»¹ýÈýÁ½ÐУ¬Ëµ´©²»ÖµÒ»ÎÄÇ®£¬ÏÂÒ»Õ¡¡
¡¡¡¡¡¡¡¡ÎҾͷÂÕæ³öÒ»¸öRTTI¡¡¡¡µÄDOS¡¡°æ±¾¸øÄã¿´¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Dynamic¡¡Creation£©¡¡
¶¯Ì¬Éú³É¡¡£¨¡¡
¡¡¡¡¡¡¡¡¶ÔÏóµ¼ÏòÊõÓïÖÐÓÐÒ»¸öÃûΪpersistence£¬Òâ˼ÊÇÓÀÐø´æÁô¡£·ÅÔÚRAM¡¡¡¡ÖеĶ«Î÷£¬ÉúÃü¡¡
¡¡¡¡¡¡¡¡Êܵ½µçÁ¦µÄ×óÓÒ£¬²»¿ÉÄÜÓÀÐø´æÁô£»Î¨Ò»µÄ°ì·¨ÊÇ°ÑËüдµ½ÎļþÈ¥¡£MFC¡¡¡¡µÄÒ»¸öÊõÓï¡¡
¡¡¡¡¡¡¡¡Serialize£¬¾ÍÊÇ×öÓйØÎļþ¶ÁдµÄÓÀÐø´æÁô¶¯×÷£¬²¢ÇÒʵ×ö×÷³öÒ»¸öÐéÄ⺯Êý£¬¾Í½Ð×÷¡¡
¡¡¡¡¡¡¡¡Serialize¡¡¡£¡¡
¡¡¡¡¡¡¡¡¿´ÆðÀ´ÓÀÐø´æÁôÓë±¾½ÚµÄÖ÷Ì⡸¶¯Ì¬Éú³É¡¹ËƺõûÓÐʲô¸ÉÁ¬¡£ÓУ¡Äã°ÑÄãµÄ×ÊÁÏ´¢´æ¡¡
¡¡¡¡¡¡¡¡µ½Îļþ£¬ÕâЩ×ÊÁϺܿÉÄÜ£¨Í¨³£ÊÇ£©¶ÔÏóÖеijÉÔ±±äÁ¿¡¡ÎÒ°ÑËü¶Á³öÀ´ºó£¬ÊƱØÒªÒÀ¾Ý¡¡
¡¡¡¡¡¡¡¡ÎļþÉϵļÇÔØ£¬ÖØÐÂnew¡¡¡¡³öÄÇЩ¸ö¶ÔÏóÀ´¡£ÎÊÌâÔÚÓÚ£¬¼´Ê¹ÎҵijÌÐòÓÐÄÇЩÀà±ð¶¨Ò壨¾Í¡¡
¡¡¡¡¡¡¡¡ËãÎҵijÌÐòºÍÄãµÄ³ÌÐòÓÐÒ»ÑùµÄÄÚÈݺÃÁË£©£¬ÎÒÄܹ»Õâô×öÂ𣺡¡
¡¡¡¡¡¡¡¡¡¡¡¡char¡¡className£§30£§¡¡=¡¡getClassName£¨£©£»¡¡//¡¡´ÓÎļþ£¨»òʹÓÃÕßÊäÈ룩»ñµÃÒ»¸öÀà±ðÃû³Æ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡CObject*¡¡obj¡¡=¡¡new¡¡classname£»¡¡//¡¡ÕâÒ»ÐÐÐв»Í¨¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡95¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡158¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ê×ÏÈ£¬new¡¡classname¡¡Õâ¸ö¶¯×÷¾Í¹ý²»Á˹ء£Æä´Î£¬¾ÍËã¹ýµÃÁ˹أ¬new¡¡¡¡³öÀ´µÄ¶ÔÏ󾿡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¾¹¸ÃÊÇʲôÀà±ðÀàÐÍ£¿ËäÈ»ÒÔÒ»¸öÖ¸ÏòMFC¡¡Àà±ðÀÏ×æ×Ú£¨CObject¡¡£©µÄ¶ÔÏóÖ¸ÕëÀ´ÈÝÄÉ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ëü¾ø¶ÔûÓÐÎÊÌ⣬µ«ÖÕ²»ºÃ×ÜÊÇÈç´Ë°É£¡²»¼ûµÃÕâÑù×Ó¾ÍÄܹ»Âú×ãÄãµÄ³ÌÐòÐèÇó°¡¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÏÔÈ»£¬ÄãÄܹ»ÒÔSerialize¡¡¡¡º¯Êýдµµ£¬ÎÒÄܹ»ÒÔSerialize¡¡¡¡º¯Êý¶Áµµ£¬µ«ÎÒ¾ÍÊÇû°ì·¨»Ö¸´¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÄãÔÀ´µÄ״̬¡¡¡¡³ý·ÇÎҵijÌÐòÄܹ»¡¸¶¯Ì¬Éú³É¡¹¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DE¡¡CLARE¡¡¡¡D¡¡YNCREA¡¡TE¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MFC¡¡Ö§³Ö¶¯Ì¬Éú³É£¬¡¡¿¿µÄÊÇÒ»×é·Ç³£ÉñÃصĺ꣨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¢¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡IMPLEMENT¡¡¡¡D¡¡YNCREA¡¡TE¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CRuntimeClass¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©ºÍÒ»¸ö·Ç³£ÉñÃصÄÀà±ð£¨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©¡£µÚ£³ÕÂÖÐÎÒ½«¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡°ÑËü³éË¿°þ¼ë£¬ÒÔÒ»¸öDOS¡¡³ÌÐò·ÂÕæ³öÀ´¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Exception¡¡Handling£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Òì³£´¦Àí¡¡£¨¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Exception¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C£«£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£¨Òì³£Çé¿ö£©ÊÇÒ»¸öÆÄΪÐÂÏʵġ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÓïÑÔÌØÕ÷£¬¿ÉÒÔ°ïÖúÄã¹ÜÀíÖ´ÐÐʱÆÚµÄ´í¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡nested¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Wat¡¡C£«£«¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Îó£¬ÌرðÊÇÄÇЩ·¢ÉúÔÚÉî¶È³²×´£¨¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£©º¯Êýµ÷ÓÃÖ®ÖеĴíÎ󡣡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÊÇ×îÔçÖ§¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡³ÖANSI¡¡C£«£«¡¡Òì³£Çé¿öµÄ±àÒëÆ÷£¬Borland¡¡C£«£«¡¡4¡£0¡¡Ëæºó¸ú½ø£¬È»ºóÊÇMicrosoft¡¡Visual¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C£«£«¡¡ºÍSymantec¡¡C£«£«¡¡¡£ÏÖÔÚ£¬ÕâÒѳÉΪC£«£«¡¡±àÒëÆ÷±ØÐèÖ§³ÖµÄÏîÄ¿¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C£«£«¡¡¡¡exception¡¡¡¡¡¡¡¡¡¡¡¡¡¡C¡¡¡¡setj¡¡mp¡¡¡¡longjmp¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÄ¡¡¡¡¡¡¡¡¡¡¡¡¡¡»ù±¾ÉÏÊÇÓë¡¡¡¡¡¡¡¡¡¡¡¡µÄ¡¡¡¡¡¡¡¡¡¡¡¡ºÍ¡¡¡¡¡¡¡¡¡¡¡¡¡¡º¯Êý¶ÔµÈµÄ¶«Î÷£¬µ«ËüÔö¼ÓÁËÒ»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ð©¹¦ÄÜ£¬ÒÔ´¦ÀíC£«£«¡¡³ÌÐòµÄÌرðÐèÇó¡£´ÓÉî¶È³²×´µÄÀý³Ìµ÷ÓÃÖÐÖ±½ÓÒÔÒ»Ìõ¿ì½Ý·½Ê½³·»Ø¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µ½Òì³£Çé¿ö´¦ÀíÀý³Ì£¨exception¡¡handler¡¡£©£¬ÕâÖÖ¡¸´íÎó¹ÜÀí·½Ê½¡¹Ô¶±È½á¹¹»¯³ÌÐòÖо¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¹ý²ã²ãµÄÀý³Ì´«»ØһϵÁеĴíÎó״̬À´µÄºÃ¡£ÊÂʵÉÏexception¡¡handling¡¡ÊÇMFC¡¡ºÍ¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡OWL¡¡Á½¸öapplication¡¡frameworks¡¡¡¡µÄ·Àµ¯ÖÐÐÄ¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡C£«£«¡¡µ¼ÈëÁËÈý¸öеÄexception¡¡±£Áô×Ö£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡1¡£¡¡try¡¡¡£Ö®ºó¸úËæÒ»¶ÎÒÔ£û¡¡¡¡£ý¡¡¡¡È¦³öÀ´µÄ³ÌÐò´úÂ룬exception¡¡¿ÉÄÜÔÚÆäÖз¢Éú¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡2¡£¡¡catch¡¡¡£Ö®ºó¸úËæÒ»¶ÎÒÔ£û¡¡¡¡£ý¡¡¡¡È¦³öÀ´µÄ³ÌÐò´úÂ룬ÄÇÊÇexception¡¡´¦ÀíÀý³ÌÖ®ËùÔÚ¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡catch¡¡Ó¦¸Ã½ô¸úÔÚtry¡¡Ö®ºó¡£¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡3¡£¡¡throw¡¡¡£ÕâÊÇÒ»¸öÖ¸ÁÓÃÀ´²úÉú£¨Å׳ö£©Ò»¸öexception¡¡¡£¡¡
96¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡159¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ£²Õ¡¡¡¡C£«£«¡¡µÄÖØÒªÐÔÙ£ü¡¡
¡¡ÏÂÃæÊǸöʵÀý¡¡¡¡£º¡¡
¡¡¡¡¡¡¡¡try¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡try¡¡block¡£¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡catch¡¡£¨char¡¡*p£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡printf£¨¡¨Caught¡¡a¡¡char*¡¡exception£»¡¡value¡¡£¥sn¡¨£»p£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡catch¡¡£¨double¡¡d£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡printf£¨¡¨Caught¡¡a¡¡numeric¡¡exception£»¡¡value¡¡£¥gn¡¨£»d£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡catch¡¡£¨¡£¡£¡££©¡¡£û¡¡¡¡//¡¡catch¡¡anything¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡printf£¨¡¨Caught¡¡an¡¡unknown¡¡exceptionn¡¨£©£»¡¡
¡¡¡¡¡¡¡¡£ý¡¡
MFC¡¡Ôç¾ÍÖ§³Öexception£¬²»¹ýÔçÆÚËüÓõÄÊǷDZê×¼Óï·¨¡£Visual¡¡C£«£«¡¡4¡£0¡¡±àÒëÆ÷±¾ÉíÖ§¡¡
³ÖÍêÕûµÄC£«£«¡¡exceptions£¬MFC¡¡Ò²Òò´ËÓÐÁËÁ½¸öexception¡¡°æ±¾£ºÄã¿ÉÒÔʹÓÃÓïÑÔ±¾Éí¡¡
ÌṩµÄÐÔÄÜ£¬Ò²¿ÉÒÔÑØÓÃMFC¡¡¹ÅÀϵķ½·¨£¨ÒÔºêÐÎʽ³öÏÖ£©¡£ÈËÃÇÔø¾ÒòΪMFC¡¡¡¡µÄ¡¡
·½°¸²»Í¬ÓÚANSI¡¡±ê×¼¶ø·ÇÄÑËü£¬µ«ÊDz»ÒªÍü¼ÇËüÒѾÔË×÷Á˶àÉÙÄê¡£¡¡
MFC¡¡¡¡µÄexceptions¡¡»úÖÆÊÇÒÔºêºÍexception¡¡types¡¡Îª»ù´¡¡£ÕâЩºêÀàËÆC£«£«¡¡¡¡µÄ¡¡
exception¡¡±£Áô×Ö£¬¶¯×÷Ò²ÂúÏñ¡£MFC¡¡¡¡ÒÔÏÂÁкê·ÂÕæC£«£«¡¡exception¡¡handling£º¡¡
¡¡¡¡¡¡¡¡TRY¡¡
¡¡¡¡¡¡¡¡CATCH£¨type£»object£©¡¡
¡¡¡¡¡¡¡¡AND_CATCH£¨type£»object£©¡¡
¡¡¡¡¡¡¡¡END_CATCH¡¡
¡¡¡¡¡¡¡¡CATCH_ALL£¨object£©¡¡
¡¡¡¡¡¡¡¡AND_CATCH_ALL£¨object£©¡¡
¡¡¡¡¡¡¡¡END_CATCH_ALL¡¡
¡¡¡¡¡¡¡¡END_TRY¡¡
¡¡¡¡¡¡¡¡THROW£¨£©¡¡
¡¡¡¡¡¡¡¡THROW_LAST£¨£©¡¡
MFC¡¡ËùʹÓõÄÓï·¨ÓëÈÕ½¥¸¡Ïֵıê×¼ÉÔ΢²»Í¬£¬²»¹ýÆä¼ä²îÒì΢²»×ãµÀ¡£ÎªÁËÒÔMFC¡¡
²¶×½exceptions£¬ÄãÓ¦¸Ã½¨Á¢Ò»¸öTRY¡¡¡¡Çø¿é£¬ÏÂÃæ½Ó×ÅCATCH¡¡¡¡Çø¿é£º¡¡
¡¡¡¡¡¡¡¡TRY¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡try¡¡block¡£¡¡
¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡CATCH¡¡£¨CMemoryException£»¡¡e£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡97¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡160¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡ÎðÔÚ¸¡É°ºB¸ß̨¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡printf£¨¡¨Caught¡¡a¡¡memory¡¡exception¡£n¡¨£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AND_CATCH_ALL¡¡£¨e£©¡¡£û¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡printf£¨¡¨Caught¡¡an¡¡exception¡£n¡¨£©£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡END_CATCH_ALL¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡THROW¡¡ºêÏ൱ÓÚC£«£«¡¡ÓïÑÔÖеÄthrow¡¡Ö¸ÁÄãÒÔʲôÀàÐÍ×öΪTHROW¡¡µÄ²ÎÊý£¬¾Í¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡»áÓÐÒ»¸öÏà¶ÔÓ¦µÄAfxThrow_¡¡¡¡º¯Êý±»µ÷Óã¨ÕâÊÇ̨ÃæϵÄÐÐΪ£©£º¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡MFC¡¡Exception¡¡Type¡¡¡¡¡¡¡¡¡¡¡¡MFC¡¡Throw¡¡Function¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡DOS¡¡support¡¡¡¡Windows¡¡support¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CMemoryException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowMemoryException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CFileException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowFileException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CArchiveException¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowArchiveException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CNotSupportedException¡¡¡¡AfxThrowNotSupportedException¡¡¡¡¡¡v¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CResourceException¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowResourceException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡COleException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowOleException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡COleDispatchException¡¡¡¡¡¡AfxThrowOleDispatchException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CDBException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowDBException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CDaoException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowDaoException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡CUserException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡AfxThrowUserException¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡v¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ÒÔÏÂÊÇMFC¡¡4¡£x¡¡¡¡µÄexceptions¡¡ºê¶¨Ò壺¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡in¡¡AFX¡£H¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡////////////////////////////////////////////////////////////////////////¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡Exception¡¡macros¡¡using¡¡try£»¡¡catch¡¡and¡¡throw¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡//¡¡¡¡£¨for¡¡backward¡¡patibility¡¡to¡¡previous¡¡versions¡¡of¡¡MFC£©¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#ifndef¡¡_AFX_OLD_EXCEPTIONS¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#define¡¡TRY¡¡£û¡¡AFX_EXCEPTION_LINK¡¡_afxExceptionLink£»¡¡try¡¡£û¡¡
98¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡161¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚ£²Õ¡¡¡¡C£«£«¡¡µÄÖØÒªÐÔÙ£ü¡¡
#define¡¡CATCH£¨class£»¡¡e£©¡¡£ý¡¡catch¡¡£¨class*¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨e¡¡·IsKindOf£¨RUNTIME_CLASS£¨class£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_afxExceptionLink¡£m_pException¡¡=¡¡e£»¡¡
#define¡¡AND_CATCH£¨class£»¡¡e£©¡¡£ý¡¡catch¡¡£¨class*¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨e¡¡·IsKindOf£¨RUNTIME_CLASS£¨class£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_afxExceptionLink¡£m_pException¡¡=¡¡e£»¡¡
#define¡¡END_CATCH¡¡£ý¡¡£ý¡¡
#define¡¡THROW£¨e£©¡¡throw¡¡e¡¡
#define¡¡THROW_LAST£¨£©¡¡£¨AfxThrowLastCleanup£¨£©£»¡¡throw£©¡¡
//¡¡Advanced¡¡macros¡¡for¡¡smaller¡¡code¡¡
#define¡¡CATCH_ALL£¨e£©¡¡£ý¡¡catch¡¡£¨CException*¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡£û¡¡ASSERT£¨e¡¡·IsKindOf£¨RUNTIME_CLASS£¨CException£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_afxExceptionLink¡£m_pException¡¡=¡¡e£»¡¡
#define¡¡AND_CATCH_ALL£¨e£©¡¡£ý¡¡catch¡¡£¨CException*¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡£û¡¡ASSERT£¨e¡¡·IsKindOf£¨RUNTIME_CLASS£¨CException£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_afxExceptionLink¡£m_pException¡¡=¡¡e£»¡¡
#define¡¡END_CATCH_ALL¡¡£ý¡¡£ý¡¡£ý¡¡
#define¡¡END_TRY¡¡£ý¡¡catch¡¡£¨CException*¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡ASSERT£¨e¡¡·IsKindOf£¨RUNTIME_CLASS£¨CException£©£©£©£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡_afxExceptionLink¡£m_pException¡¡=¡¡e£»¡¡£ý¡¡£ý¡¡
#else¡¡//_AFX_OLD_EXCEPTIONS¡¡
////////////////////////////////////////////////////////////////////////¡¡
//¡¡Exception¡¡macros¡¡using¡¡setjmp¡¡and¡¡longjmp¡¡
//¡¡¡¡£¨for¡¡portability¡¡to¡¡pilers¡¡with¡¡no¡¡support¡¡for¡¡C£«£«¡¡exception¡¡handling£©¡¡
#define¡¡TRY¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡AFX_EXCEPTION_LINK¡¡_afxExceptionLink£»¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡if¡¡£¨£º£ºsetjmp£¨_afxExceptionLink¡£m_jumpBuf£©¡¡==¡¡0£©¡¡
#define¡¡CATCH£¨class£»¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡else¡¡if¡¡£¨£º£ºAfxCatchProc£¨RUNTIME_CLASS£¨class£©£©£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡class*¡¡e¡¡=¡¡£¨class*£©_afxExceptionLink¡£m_pException£»¡¡
#define¡¡AND_CATCH£¨class£»¡¡e£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡else¡¡if¡¡£¨£º£ºAfxCatchProc£¨RUNTIME_CLASS£¨class£©£©£©¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£û¡¡class*¡¡e¡¡=¡¡£¨class*£©_afxExceptionLink¡£m_pException£»¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡99¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Page¡¡162¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡µÚƪ¡¡¡¡ÎðÔÚ¸¡É°ºB¸ß̨¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#define¡¡END_CATCH¡¡¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡£ý¡¡else¡¡£û¡¡£º£ºAfxThrow£¨NULL£©£»¡¡£ý¡¡£ý¡¡
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡#define¡¡THROW£¨
¿ì½Ý²Ù×÷: °´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·ҳ °´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ °´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿!
ÎÂÜ°Ìáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾Ñé½±Àø£¬ÈÏÕæдԴ´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾Ñé½±ÀøŶ£¡