จับ

จับ ( exception_class, exception_object_pointer_name )

พารามิเตอร์

exception_class

ระบุชนิดของข้อยกเว้นทดสอบ สำหรับรายการของข้อยกเว้นมาตรฐานชั้น ดูคลาCException?

exception_object_pointer_name

ระบุชื่อสำหรับการชี้ยกเว้นวัตถุที่จะถูกสร้าง โดยแมโคร คุณสามารถใช้ชื่อชี้เข้าข้อยกเว้นวัตถุภายในบล็อกจับ เป็นประกาศตัวแปรนี้สำหรับคุณ?

หมายเหตุ

ใช้แมโครนี้เพื่อกำหนดบล็อกของโค้ดที่ catches ยกเว้นชนิดแรกส่งออกไปในบล็อกลองก่อนหน้านี้ รหัสข้อยกเว้นการประมวลผลสามารถซักถามข้อยกเว้นวัตถุ ถ้าเหมาะสม การขอข้อมูลเพิ่มเติมเกี่ยวกับสาเหตุเฉพาะเจาะจงของข้อยกเว้น เรียกใช้แมโคTHROW_LASTจะเลื่อนการประมวลผลไปยังภายนอกยกเว้นเฟรมถัดไป สิ้นสุดการบล็อกลองกับแมโครที่มีEND_CATCH?

ถ้าexception_classเป็นคลาCExceptionแล้วทั้งหมดยกเว้นชนิดจะถูกจับ คุณสามารถใช้ฟังก์ชันCObject::IsKindOfสมาชิกเพื่อกำหนดข้อยกเว้นที่ระบุถูกส่งออกไป วิธีการจับหลายชนิดของข้อยกเว้นดีกว่าคือการ ใช้ลำดับAND_CATCHงบ มีชนิดข้อยกเว้นที่แตกต่างกันแต่ละ?

ชี้ยกเว้นวัตถุถูกสร้าง โดยแมโคร คุณไม่จำเป็นต้องประกาศตัวเอง?

หมายเหตุnbspจับบล็อกถูกกำหนดเป็นขอบเขต c ++ (delineated ด้วยวงเล็บปีกกา) ถ้าคุณประกาศตัวแปรในขอบเขตนี้ โปรดจำไว้ว่า จะสามารถเข้าถึงได้เฉพาะภายในขอบเขตที่ นี้ยังใช้กับexception_object_pointer_name(&N)?

สำหรับข้อมูลเพิ่มเติมในข้อยกเว้นและแมโคจับให้ดูบทความ ข้อยกเว้นในVisual c ++ Programmer ของคำแนะนำ?

ดูเพิ่มเติมnbspลอง AND_CATCH, END_CATCHโยน THROW_LAST, CATCH_ALL, CException(&N)

Index