CException

CExceptionเป็นคลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมดในไลบรารี Microsoft Foundation Class คลาสที่ได้รับและคำอธิบายของพวกเขาอยู่ด้านล่าง:

CMemoryException ข้อยกเว้นออกความจำ
CNotSupportedException ร้องขอการดำเนินการที่ไม่สนับสนุน
CArchiveException ข้อยกเว้นเฉพาะตัวของการเก็บถาวร
CFileException ข้อยกเว้นเฉพาะแฟ้ม
CResourceException ทรัพยากรของ Windows ไม่พบ หรือไม่ createable
COleException OLE ข้อยกเว้น
CDBException ฐานข้อมูล exceptionnbsp (นั่นคือ เงื่อนไขข้อยกเว้นเกิดขึ้นสำหรับ MFC ฐานชั้นที่ยึดตามการเชื่อมต่อฐานข้อมูลที่เปิด)(&N)
COleDispatchException OLE ส่งข้อยกเว้น (อัตโนมัติ)
CUserException ข้อยกเว้นที่บ่งชี้ว่า ทรัพยากรไม่พบ
CDaoException การเข้าถึงข้อมูลข้อยกเว้นวัตถุ (นั่นคือ ยกเว้นเงื่อนไขเกิดเรียน DAO)
CInternetException อินเทอร์เน็ตข้อยกเว้น (นั่นคือ ยกเว้นเงื่อนไขเกิดเรียนอินเทอร์เน็ต)?

ข้อยกเว้นเหล่านี้มีวัตถุประสงค์เพื่อใช้กับการโยน THROW_LASTลองจับ AND_CATCHและEND_CATCHแมโคร สำหรับข้อมูลเพิ่มเติมเกี่ยวกับข้อยกเว้น ดูข้อยกเว้นการประมวลผลหรือดูบทความ ข้อยกเว้นในVisual c ++ Programmer ของคำแนะนำ?

การจับมีข้อยกเว้นเฉพาะ ใช้เหมาะสมมาคลาส จับทุกชนิดยกเว้น ใช้CExceptionและใช้CObject::IsKindOfเพื่อแยกความแตกต่างระหว่างCException-มาเรียน หมายเหตุว่าCObject::IsKindOfที่ใช้ได้กับคลาประกาศพร้อมแมโคIMPLEMENT_DYNAMICเพื่อใช้ประโยชน์จากการตรวจสอบชนิดไดนามิกเท่านั้น CExceptionใด ๆ-คลาสรับที่คุณสร้างควรใช้แมโคIMPLEMENT_DYNAMICเกินไป?

คุณสามารถรายงานรายละเอียดเกี่ยวกับข้อยกเว้นสำหรับผู้ใช้ โดยการเรียกGetErrorMessageหรือReportErrorสองฟังก์ชันสมาชิกที่ทำงานกับหนึ่งในCExceptionของคลาสที่ได้รับ?

ถ้ามีข้อยกเว้นถูกดักจับ ด้วยหนึ่งของแมโครใน วัตถุCExceptionจะถูกลบออกโดยอัตโนมัติ ไม่ลบด้วยตัวคุณเอง ถ้าถูกดักจับข้อยกเว้น โดยใช้คำสำคัญจับมันจะไม่ลบโดยอัตโนมัติ ดูบทความ ข้อยกเว้นในVisual c ++ Programmer ของคำแนะนำสำหรับข้อมูลเพิ่มเติมเกี่ยวกับเมื่อลบวัตถุ exeption?

CExceptionคลาสพื้นฐานที่เป็นนามธรรมได้ คุณไม่สามารถสร้างวัตถุCException คุณต้องสร้างวัตถุของคลาสที่ได้รับ ถ้าคุณต้องการสร้างชนิดของCExceptionของคุณเอง ใช้วิธีการใดวิธีการหนึ่งของคลาสที่ได้รับรายการข้างต้นเป็นแบบจำลอง ตรวจสอบให้แน่ใจว่า ชั้นของคุณได้รับมายังใช้IMPLEMENT_DYNAMIC?

#รวม lt;afx.h>

สมาชิกของคลาส|nbsp คลาสพื้นฐาน| แผนภูมิของลำดับชั้น(&N)

ตัวอย่างnbsp อย่าง MFC ฉีก(&N)

ดูเพิ่มเติมnbspการประมวลผลข้อยกเว้น(&N)

Index